]> xenbits.xensource.com Git - unikraft/unikraft.git/commitdiff
plat/common: Add BIOS system memory in legacy high memory region
authorSergiu Moga <sergiu@unikraft.io>
Mon, 14 Aug 2023 08:08:17 +0000 (11:08 +0300)
committerUnikraft <monkey@unikraft.io>
Mon, 14 Aug 2023 11:03:55 +0000 (11:03 +0000)
Previously, `ukplat_memregion_list_insert_legacy_hi_mem` did not
include the `0xf0000 -> 0x100000` memory regions that would usually
contain the legacy BIOS system memory below the first 1MiB. This
would lead to x86 platforms that do not yet have any form of
ACPI (RSDP from BDA or UEFI System Tables) such as Firecracker
to crash when looking for the `RSDP` in that specific region.

Therefore, make sure that this region is also included so that it
can be mapped accordingly by the paging initialization phase.

Signed-off-by: Sergiu Moga <sergiu@unikraft.io>
Reviewed-by: Marco Schlumpp <marco@unikraft.io>
Approved-by: Michalis Pappas <michalis@unikraft.io>
Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Closes: #1046

plat/common/include/uk/plat/common/memory.h

index d64989799be240a61f00f163e37f9dba69bf297d..fa292529e96b330a83b6a346b122c34b33a20c42 100644 (file)
@@ -115,7 +115,7 @@ ukplat_memregion_list_insert(struct ukplat_memregion_list *list,
 
 #if defined(__X86_64__)
 #define        X86_HI_MEM_START                0xA0000
-#define X86_HI_MEM_LEN                 0x50000
+#define X86_HI_MEM_LEN                 0x60000
 
 static inline int
 ukplat_memregion_list_insert_legacy_hi_mem(struct ukplat_memregion_list *list)