summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
authorNadav Har'El <nyh@il.ibm.com>2013-08-05 11:07:07 +0300
committerPaolo Bonzini <pbonzini@redhat.com>2013-08-07 15:57:34 +0200
commit3633cfc3e8656a660953e701c189444831f44075 (patch)
tree272bfb48835cc3d86a1541e6e9b73b027158ce82 /firmware
parent8049d651e8789b15baaf2a8b888d8919df1152a9 (diff)
nEPT: Fix cr3 handling in nested exit and entry
The existing code for handling cr3 and related VMCS fields during nested exit and entry wasn't correct in all cases: If L2 is allowed to control cr3 (and this is indeed the case in nested EPT), during nested exit we must copy the modified cr3 from vmcs02 to vmcs12, and we forgot to do so. This patch adds this copy. If L0 isn't controlling cr3 when running L2 (i.e., L0 is using EPT), and whoever does control cr3 (L1 or L2) is using PAE, the processor might have saved PDPTEs and we should also save them in vmcs12 (and restore later). Reviewed-by: Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com> Reviewed-by: Orit Wasserman <owasserm@redhat.com> Signed-off-by: Nadav Har'El <nyh@il.ibm.com> Signed-off-by: Jun Nakajima <jun.nakajima@intel.com> Signed-off-by: Xinhao Xu <xinhao.xu@intel.com> Signed-off-by: Yang Zhang <yang.z.zhang@Intel.com> Signed-off-by: Gleb Natapov <gleb@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'firmware')
0 files changed, 0 insertions, 0 deletions