acrn-hypervisor/hypervisor/arch/x86/guest
Binbin Wu 2d55b49ea1 hv: ept: flush cache for modified ept entries
EPT tables are shared by MMU and IOMMU.
Some IOMMUs don't support page-walk coherency, the cpu cache of EPT entires
should be flushed to memory after modifications, so that the modifications
are visible to the IOMMUs.

This patch adds a new interface to flush the cache of modified EPT entires.
There are different implementations for EPT/PPT entries:
- For PPT, there is no need to flush the cpu cache after update.
- For EPT, need to call iommu_flush_cache to make the modifications visible
to IOMMUs.

Tracked-On: #4120
Signed-off-by: Binbin Wu <binbin.wu@intel.com>
Reviewed-by: Anthony Xu <anthony.xu@intel.com>
2019-11-19 09:06:21 +08:00
..
assign.c hv: fix some potential array overflow risk 2019-07-19 16:39:01 +08:00
ept.c hv:cleanup header file for guest folder 2019-02-21 10:38:30 +08:00
guest_memory.c HV: Modularize boot folder 2019-03-14 09:05:53 +08:00
instr_emul.c hv: fix "Else alternative missing in if." 2019-04-03 09:20:55 +08:00
pm.c HV: Minor refinement about RTVM pm MACRO and comments 2019-04-04 00:27:55 +08:00
trusty.c hv: ept: flush cache for modified ept entries 2019-11-19 09:06:21 +08:00
ucode.c hv:cleanup header file for guest folder 2019-02-21 10:38:30 +08:00
vcpu.c HV: Using INIT to kick vCPUs off when RTVM poweroff by itself 2019-03-29 16:17:44 +08:00
vcpuid.c hv: disable mpx capability for guest 2019-03-20 13:07:31 +08:00
virq.c hv: Remove separate interrupt routine for pre-launched VMs 2019-04-04 17:51:36 +08:00
virtual_cr.c hv: vlapic: remove TPR set/get API 2019-03-25 13:31:51 -07:00
vlapic_priv.h hv: self-IPI APIC register in x2APIC mode of guest vLAPIC 2018-11-02 13:48:43 +08:00
vlapic.c hv: fix possible buffer overflow in vlapic.c 2019-04-23 13:45:28 +08:00
vm.c hv: ept: flush cache for modified ept entries 2019-11-19 09:06:21 +08:00
vmcall.c hv: add new hypercall to fetch platform configurations 2019-04-15 22:14:13 +08:00
vmcs.c hv: vlapic: add combined constraint for APICv 2019-03-12 20:37:06 +08:00
vmexit.c hv: rename io_emul.c to vmx_io.c 2019-04-12 10:09:26 +08:00
vmsr.c hv: vlapic: remove vlapic_rdmsr/wrmsr 2019-04-12 10:11:10 +08:00
vmtrr.c hv: vmtrr: hide mtrr if hide_mtrr is true 2019-03-16 17:14:12 +08:00
vmx_asm.S hv: refine guest.h 2019-02-03 13:00:42 +08:00
vmx_io.c hv: rename io_emul.c to vmx_io.c 2019-04-12 10:09:26 +08:00