diff options
author | Nadav Har'El <nyh@il.ibm.com> | 2011-05-25 16:11:34 -0400 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2011-07-12 04:45:16 -0400 |
commit | 4704d0befb0721274bda863192c4782febb6b94c (patch) | |
tree | f460a211f2307a9ba2db1f641b6907d9572f6cf6 /arch/x86/include/asm/vmx.h | |
parent | 99e65e805dea4df061aa4038211112aa96416412 (diff) |
KVM: nVMX: Exiting from L2 to L1
This patch implements nested_vmx_vmexit(), called when the nested L2 guest
exits and we want to run its L1 parent and let it handle this exit.
Note that this will not necessarily be called on every L2 exit. L0 may decide
to handle a particular exit on its own, without L1's involvement; In that
case, L0 will handle the exit, and resume running L2, without running L1 and
without calling nested_vmx_vmexit(). The logic for deciding whether to handle
a particular exit in L1 or in L0, i.e., whether to call nested_vmx_vmexit(),
will appear in a separate patch below.
Signed-off-by: Nadav Har'El <nyh@il.ibm.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'arch/x86/include/asm/vmx.h')
-rw-r--r-- | arch/x86/include/asm/vmx.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/include/asm/vmx.h b/arch/x86/include/asm/vmx.h index 37690bd580c8..b747773cf83b 100644 --- a/arch/x86/include/asm/vmx.h +++ b/arch/x86/include/asm/vmx.h | |||
@@ -132,6 +132,8 @@ enum vmcs_field { | |||
132 | GUEST_IA32_PAT_HIGH = 0x00002805, | 132 | GUEST_IA32_PAT_HIGH = 0x00002805, |
133 | GUEST_IA32_EFER = 0x00002806, | 133 | GUEST_IA32_EFER = 0x00002806, |
134 | GUEST_IA32_EFER_HIGH = 0x00002807, | 134 | GUEST_IA32_EFER_HIGH = 0x00002807, |
135 | GUEST_IA32_PERF_GLOBAL_CTRL = 0x00002808, | ||
136 | GUEST_IA32_PERF_GLOBAL_CTRL_HIGH= 0x00002809, | ||
135 | GUEST_PDPTR0 = 0x0000280a, | 137 | GUEST_PDPTR0 = 0x0000280a, |
136 | GUEST_PDPTR0_HIGH = 0x0000280b, | 138 | GUEST_PDPTR0_HIGH = 0x0000280b, |
137 | GUEST_PDPTR1 = 0x0000280c, | 139 | GUEST_PDPTR1 = 0x0000280c, |
@@ -144,6 +146,8 @@ enum vmcs_field { | |||
144 | HOST_IA32_PAT_HIGH = 0x00002c01, | 146 | HOST_IA32_PAT_HIGH = 0x00002c01, |
145 | HOST_IA32_EFER = 0x00002c02, | 147 | HOST_IA32_EFER = 0x00002c02, |
146 | HOST_IA32_EFER_HIGH = 0x00002c03, | 148 | HOST_IA32_EFER_HIGH = 0x00002c03, |
149 | HOST_IA32_PERF_GLOBAL_CTRL = 0x00002c04, | ||
150 | HOST_IA32_PERF_GLOBAL_CTRL_HIGH = 0x00002c05, | ||
147 | PIN_BASED_VM_EXEC_CONTROL = 0x00004000, | 151 | PIN_BASED_VM_EXEC_CONTROL = 0x00004000, |
148 | CPU_BASED_VM_EXEC_CONTROL = 0x00004002, | 152 | CPU_BASED_VM_EXEC_CONTROL = 0x00004002, |
149 | EXCEPTION_BITMAP = 0x00004004, | 153 | EXCEPTION_BITMAP = 0x00004004, |