acrn-hypervisor/hypervisor/arch/x86
Li Fei1 1db32f4d03 hv: ept: build 4KB page mapping in EPT for code pages of rtvm
RTVM is enforced to use 4KB pages to mitigate CVE-2018-12207 and performance jitter,
which may be introduced by splitting large page into 4KB pages on demand. It works
fine in previous hardware platform where the size of address space for the RTVM is
relatively small. However, this is a problem when the platforms support 64 bits
high MMIO space, which could be super large and therefore consumes large # of
EPT page table pages.

This patch optimize it by using large page for purely data pages, such as MMIO spaces,
even for the RTVM.

Signed-off-by: Li Fei1 <fei1.li@intel.com>
Tracked-On: #5788
2021-03-03 13:46:49 +08:00
..
boot hv: modularization: remove global variable efiloader_sig. 2021-01-27 15:59:47 +08:00
configs HV: deny HV owned PCI bar access from SOS 2021-02-03 14:01:23 +08:00
guest hv: ept: build 4KB page mapping in EPT for code pages of rtvm 2021-03-03 13:46:49 +08:00
lib HV: rewrite memcpy_s to be iso c11 compliant 2020-06-08 13:30:04 +08:00
seed hv: modularization: change of multiboot API. 2021-01-27 15:59:47 +08:00
cpu_caps.c hv: page: use dynamic page allocation for pagetable mapping 2021-03-01 13:10:04 +08:00
cpu_state_tbl.c HV: add board specific cpu state table to support Px Cx 2019-07-29 20:25:16 +08:00
cpu.c hv: page: use dynamic page allocation for pagetable mapping 2021-03-01 13:10:04 +08:00
e820.c HV: panic on 0 address when do e820_alloc_memory 2021-02-26 16:38:32 +08:00
gdt.c hv:cleanup header files for arch folder 2019-02-22 13:14:36 +08:00
idt.S HV: Install a NMI handler in acrn IDT 2019-12-13 10:13:09 +08:00
init.c hv: modularization: remove global variable efiloader_sig. 2021-01-27 15:59:47 +08:00
ioapic.c hv: mmu: rename hv_access_memory_region_update to ppt_clear_user_bit 2020-11-02 10:29:43 +08:00
irq.c hv: coding style clean-up related to Boolean 2020-11-28 14:51:32 +08:00
Kconfig kv: kconfig: remove some unused ram size kconfig 2021-03-01 13:10:04 +08:00
lapic.c hv:cpu-caps:refine processor family and model info 2020-08-14 10:08:50 +08:00
mmu.c hv: page: use dynamic page allocation for pagetable mapping 2021-03-01 13:10:04 +08:00
notify.c hv: maintain a per-pCPU array of vCPUs and handle posted interrupt IRQs 2020-04-15 13:47:22 +08:00
page.c hv: ept: build 4KB page mapping in EPT for code pages of rtvm 2021-03-03 13:46:49 +08:00
pagetable.c hv: ept: build 4KB page mapping in EPT for code pages of rtvm 2021-03-03 13:46:49 +08:00
platform_caps.c hv: add function to check if using posted interrupt is possible for vm 2020-04-15 13:47:22 +08:00
pm.c pm: S5: update the system shutdown logical in ACRN 2019-12-23 15:15:09 +08:00
rdt.c hv: coding style clean-up related to Boolean 2020-11-28 14:51:32 +08:00
rtcm.c hv: hypercall: prevent sos can touch hv/pre-launched VM resource 2021-02-02 16:55:40 +08:00
sched.S hv: sched: rename schedule related structs and vars 2019-10-16 10:25:53 +08:00
security.c hv: keylocker: Support Key Locker feature for guest VM 2021-02-03 13:54:45 +08:00
sgx.c hv: sgx: add basic support to init sgx resource for vm 2019-05-29 11:24:13 +08:00
timer.c hv: list: rename list_entry to container_of 2020-03-31 10:57:47 +08:00
trampoline.c hv: modularization: avoid dependency of multiboot on zeropage.h. 2021-01-27 15:59:47 +08:00
vmx.c hv:fix "no prototype for non-static function" 2019-07-09 10:36:03 +08:00
vtd.c hv: mmu: rename hv_access_memory_region_update to ppt_clear_user_bit 2020-11-02 10:29:43 +08:00
wakeup.S hv: pm: correct the function name 2019-09-11 17:30:24 +08:00