HV: relocate SOS kernel before boot modules for SBL

SBL would load multiboot modules to the maximum usable ram below 4GB, in this
case the SOS kernel would be failed to load because no room for kernel in
the range of end of modules and MEM_4G. So kernel must be relocated to the
range of MEM_1M and start of modules, or other appropriate place according
to modules layout.

Tracked-On: #6162

Signed-off-by: Victor Sun <victor.sun@intel.com>
This commit is contained in:
Victor Sun
2021-06-07 11:25:18 +08:00
committed by wenlingz
parent 79bd3f498f
commit 695e09a194
3 changed files with 86 additions and 56 deletions

View File

@@ -70,6 +70,8 @@ static inline bool boot_from_uefi(struct acrn_boot_info *abi)
return (abi->efi_info.system_table != NULL);
}
void get_boot_mods_range(uint64_t *p_start, uint64_t *p_end);
int32_t init_multiboot_info(uint32_t *registers);
int32_t init_multiboot2_info(uint32_t *registers);