acrn-hypervisor/hypervisor/arch/x86/guest
Zide Chen 2bd269c11c hv: nested: support for VMCLEAR emulation
This patch is to emulate VMCLEAR instruction.

L1 hypervisor issues VMCLEAR on a VMCS12 whose state could be any of
these: active and current, active but not current, not yet VMPTRLDed.

To emulate the VMCLEAR instruction, ACRN sets the VMCS12 launch state to
"clear", and if L0 already cached this VMCS12, need to sync it back to
guest memory:

- sync shadow fields from shadow VMCS VMCS to cache VMCS12
- copy cache VMCS12 to L1 guest memory

Tracked-On: #5923
Signed-off-by: Sainath Grandhi <sainath.grandhi@intel.com>
Signed-off-by: Zide Chen <zide.chen@intel.com>
2021-05-24 10:34:01 +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 VMCLEAR emulation 2021-05-24 10:34:01 +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/mod_timer: split tsc handling code from timer. 2021-05-18 16:43:28 +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: extend vlapic_x2apic_pt_icr_access to support more destination mode 2021-05-24 10:27:32 +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: nested: support for VMPTRLD emulation 2021-05-24 10:34:01 +08:00
vmexit.c hv: nested: support for VMCLEAR emulation 2021-05-24 10:34:01 +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