acrn-hypervisor/hypervisor/boot
Victor Sun 9dfac7a7a3 HV: init hv_e820 from efi mmap if boot from uefi
Hypervisor use e820_alloc_memory() api to allocate memory for trampoline code
and ept pages, whereas the usable ram in hv_e820 might include efi boot service
region if system boot from uefi environment, this would result in some uefi
service broken in SOS. These boot service region should be filtered from
hv_e820.
This patch will parse the efi memory descriptor entries info from efi memory
map pointer when system boot from uefi environment, and then initialize hv_e820
accordingly, that all efi boot service region would be kept as reserved in
hv_e820.

Please note the original efi memory map could be above 4GB address space,
so the efi memory parsing process must be done after enable_paging().

Tracked-On: #5626

Signed-off-by: Victor Sun <victor.sun@intel.com>
Reviewed-by: Jason Chen CJ <jason.cj.chen@intel.com>
2021-06-11 10:06:02 +08:00
..
guest HV: modularization: use abi_module struct in acrn boot info 2021-06-11 10:06:02 +08:00
include HV: modularization: rename mi_acpi_rsdp_va to acpi_rsdp_va 2021-06-11 10:06:02 +08:00
multiboot HV: modularization: rename mi_acpi_rsdp_va to acpi_rsdp_va 2021-06-11 10:06:02 +08:00
acpi_base.c HV: modularization: rename mi_acpi_rsdp_va to acpi_rsdp_va 2021-06-11 10:06:02 +08:00
boot.c HV: init hv_e820 from efi mmap if boot from uefi 2021-06-11 10:06:02 +08:00
reloc.c hv: mod: do not use explicit arch name when including headers 2021-05-08 11:15:46 +08:00