acrn-hypervisor/hypervisor/include/arch/x86
Li Fei1 628bca5cad hv: pgtable: use new algo to calculate PPT/EPT_PD_PAGE_NUM
In order to support platform (such as Ander Lake) which physical address width
bits is 46, the current code need to reserve 2^16 PD page ((2^46) / (2^30)).
This is a complete waste of memory.

This patch would reserve PD page by three parts:
1. DRAM - may take PD_PAGE_NUM(CONFIG_PLATFORM_RAM_SIZE) PD pages at most;
2. low MMIO - may take PD_PAGE_NUM(MEM_1G << 2U) PD pages at most;
3. high MMIO - may takes (CONFIG_MAX_PCI_DEV_NUM * 6U) PD pages (may plus
PDPT entries if its size is larger than 1GB ) at most for:
(a) MMIO BAR size must be a power of 2 from 16 bytes;
(b) MMIO BAR base address must be power of two in size and are aligned with
its size.

Tracked-On: #5929
Signed-off-by: Li Fei1 <fei1.li@intel.com>
2021-04-22 14:35:57 +08:00
..
boot hv: don't need to save boot context 2020-10-29 10:05:05 +08:00
guest hv: pgtable: remove alloc_ept_page 2021-03-29 13:28:55 +08:00
lib hv/mod-irq: use arch specific header files 2021-03-24 11:38:14 +08:00
apicreg.h hv/mod-irq: use arch specific header files 2021-03-24 11:38:14 +08:00
board.h hv/mod-irq: use arch specific header files 2021-03-24 11:38:14 +08:00
cpu_caps.h hv: disable host MONITOR-WAIT support when SW SRAM is enabled 2021-03-11 09:42:44 +08:00
cpu.h hv/mod_irq: cleanup x86/irq.h 2021-03-24 11:38:14 +08:00
cpufeatures.h hv: keylocker: Support Key Locker feature for guest VM 2021-02-03 13:54:45 +08:00
cpuid.h hv: keylocker: Simulate CPUID of keylocker caps for guest VM 2021-02-03 13:54:45 +08:00
default_acpi_info.h
e820.h hv: e820: remove get_mem_range_info 2021-04-21 14:00:44 +08:00
gdt.h hv/mod-irq: use arch specific header files 2021-03-24 11:38:14 +08:00
host_pm.h
idt.h hv: irq: minor refine about structure idt_64_descriptor 2020-04-26 10:48:49 +08:00
init.h
io.h remove dead code in io.h 2020-06-19 16:13:20 +08:00
ioapic.h hv/mod-irq: use arch specific header files 2021-03-24 11:38:14 +08:00
irq.h hv/mod_irq: do not include x86/irq.h in common/irq.h 2021-03-24 11:38:14 +08:00
lapic.h hv/mod_irq: cleanup x86 lapic/ioapic header files 2021-03-24 11:38:14 +08:00
mmu.h hv: mmu: remove get_mem_range_info in init_paging 2021-04-21 14:00:44 +08:00
msr.h hv: keylocker: Support keylocker backup MSRs for Guest VM 2021-02-03 13:54:45 +08:00
notify.h hv/mod_irq: move IPI declarations out of x86/irq.h 2021-03-24 11:38:14 +08:00
page.h hv: pgtable: use new algo to calculate PPT/EPT_PD_PAGE_NUM 2021-04-22 14:35:57 +08:00
pci_dev.h hv/mod-irq: use arch specific header files 2021-03-24 11:38:14 +08:00
per_cpu.h hv/mod-irq: use arch specific header files 2021-03-24 11:38:14 +08:00
pgtable.h hv: mmu: remove get_mem_range_info in init_paging 2021-04-21 14:00:44 +08:00
platform_caps.h hv: add function to check if using posted interrupt is possible for vm 2020-04-15 13:47:22 +08:00
rdt.h HV: RDT: add CDP support in ACRN 2020-05-08 08:50:13 +08:00
rtcm.h hv/mod-irq: use arch specific header files 2021-03-24 11:38:14 +08:00
rtct.h hv: unmap software region of pre-RTVM from Service VM EPT 2021-02-25 09:35:31 +08:00
security.h hv: keylocker: Support Key Locker feature for guest VM 2021-02-03 13:54:45 +08:00
seed.h HV: rename append_seed_arg to fill_seed_arg 2020-06-08 13:30:04 +08:00
sgx.h
timer.h hv: vpci: revert do FLR and BAR restore 2019-12-30 13:43:07 +08:00
trampoline.h
vm_config.h hv/mod-irq: use arch specific header files 2021-03-24 11:38:14 +08:00
vmx.h hv: keylocker: Support Key Locker feature for guest VM 2021-02-03 13:54:45 +08:00
vtd.h hv: vtd: add an API to reserve continuous irtes 2020-06-16 08:52:56 +08:00
zeropage.h hv/mod-irq: use arch specific header files 2021-03-24 11:38:14 +08:00