acrn-hypervisor/hypervisor/arch/x86
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
..
boot hv: modularization: remove global variable efiloader_sig. 2021-01-27 15:59:47 +08:00
configs hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
guest hv: nested: support for VMCLEAR emulation 2021-05-24 10:34:01 +08:00
lib HV: rewrite memcpy_s to be iso c11 compliant 2020-06-08 13:30:04 +08:00
seed hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
cpu_caps.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
cpu_state_tbl.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
cpu.c HV: Fix mistake use stac() & clac() 2021-05-24 10:32:54 +08:00
e820.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
exception.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
gdt.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
idt.S hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
init.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
ioapic.c hv: paging: rename ppt_set/clear_ATTR to set_paging_ATTR 2021-05-14 09:18:00 +08:00
irq.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
Kconfig config-tool: rename PSRARM to SSRAM 2021-05-17 14:31:42 +08:00
lapic.c hv/mod_timer: separate delay functions from the timer module 2021-05-18 16:43:28 +08:00
mmu.c hv: cache: wrap common APIs 2021-05-14 09:18:00 +08:00
nmi.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
notify.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
page.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
pagetable.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
platform_caps.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
pm.c hv/mod_timer: make timer into an arch-independent module 2021-05-18 16:43:28 +08:00
rdt.c hv: some coding style fixes 2021-05-12 16:50:34 +08:00
rtcm.c hv: update RTCT parser to support RTCT version 2 2021-05-17 17:19:11 +08:00
sched.S hv: sched: rename schedule related structs and vars 2019-10-16 10:25:53 +08:00
security.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
sgx.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00
trampoline.c hv: cache: wrap common APIs 2021-05-14 09:18:00 +08:00
tsc_deadline_timer.c hv/mod_timer: make timer into an arch-independent module 2021-05-18 16:43:28 +08:00
tsc.c hv/mod_timer: split tsc handling code from timer. 2021-05-18 16:43:28 +08:00
vmx.c hv: nested: support for VMPTRLD emulation 2021-05-24 10:34:01 +08:00
vtd.c hv/mod_timer: split tsc handling code from timer. 2021-05-18 16:43:28 +08:00
wakeup.S hv: pm: correct the function name 2019-09-11 17:30:24 +08:00