acrn-hypervisor/hypervisor/arch/x86/guest
Zide Chen 4c29a0bb29 hv: nested: support for VMLAUNCH and VMRESUME emulation
Implement the VMLAUNCH and VMRESUME instructions, allowing a L1
hypervisor to run nested guests.

- merge VMCS control fields and VMCS guest fields to VMCS02
- clear shadow VMCS indicator on VMCS02 and load VMCS02 as current
- set VMCS12 launch state to "launched" in VMLAUNCH handler

Tracked-On: #5923
Signed-off-by: Sainath Grandhi <sainath.grandhi@intel.com>
Signed-off-by: Zide Chen <zide.chen@intel.com>
Signed-off-by: Alex Merritt <alex.merritt@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
2021-06-03 15:23:25 +08:00
..
assign.c hv: vlapic: wrap a function to calculate destination vcpu mask by shorthand 2021-05-24 10:27:32 +08:00
ept.c hv: cache: wrap common APIs 2021-05-14 09:18:00 +08:00
guest_memory.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
hyperv.c hv/mod_timer: split tsc handling code from timer. 2021-05-18 16:43:28 +08:00
instr_emul.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
nested.c hv: nested: support for VMLAUNCH and VMRESUME emulation 2021-06-03 15:23:25 +08:00
pm.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
splitlock.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
trusty.c hv/mod_timer: split tsc handling code from timer. 2021-05-18 16:43:28 +08:00
ucode.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
vcpu.c hv: Support WAITPKG instructions in guest VM 2021-05-13 14:19:50 +08:00
vcpuid.c hv: vcpuid: passthrough host CPUID leaf.0BH to guest VMs 2021-05-26 11:23:06 +08:00
ve820.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
virq.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
virtual_cr.c hv: nested: enable nested virtualization 2021-05-13 16:16:30 +08:00
vlapic_priv.h hv: add ops to vlapic structure 2019-07-19 16:47:06 +08:00
vlapic.c hv: vlapic: a minor refine about vlapic_x2apic_pt_icr_access 2021-05-27 09:00:08 +08:00
vm_reset.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
vm.c hv: nested: support for VMPTRLD emulation 2021-05-24 10:34:01 +08:00
vmcall.c hv: hypercalls: refactor permission-checking and dispatching logic 2021-05-12 13:43:41 +08:00
vmcs.c hv: VMPTRLD and VMCLEAR VMCS with the common APIs 2021-05-26 11:22:26 +08:00
vmexit.c hv: nested: support for VMLAUNCH and VMRESUME emulation 2021-06-03 15:23:25 +08:00
vmsr.c hv/mod_timer: split tsc handling code from timer. 2021-05-18 16:43:28 +08:00
vmtrr.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
vmx_asm.S hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
vmx_io.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00