mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-09-21 08:50:27 +00:00
HV: added memory allocation functions for AP trampoline code relocation
V2->V3: Fixed the booting issue on MRB board and removed the restriction of allocate memory from address 0 1) Fix the booting from MRB issue -#define CONFIG_LOW_RAM_SIZE 0x000CF000 +#define CONFIG_LOW_RAM_SIZE 0x00010000 2) changed e820_alloc_low_memory() to handle corner case of unaligned e820 entries and enable it to allocate memory at address 0 + a length = end > start ? (end - start) : 0; - /* We don't want the first page */ - if ((length == size) && (start == 0)) - continue; 3) changed emalloc_for_low_mem() to enable to allocate memory at address 0 - /* We don't want the first page */ - if (start == 0) - start = EFI_PAGE_SIZE; V1->V2: moved e820_alloc_low_memory() to guest.c and added the logic to handle unaligned E820 entries emalloc_for_low_mem() is used if CONFIG_EFI_STUB is defined. e820_alloc_low_memory() is used for other cases In either case, the allocated memory will be marked with E820_TYPE_RESERVED Signed-off-by: Zheng, Gen <gen.zheng@intel.com> Signed-off-by: Jason Chen CJ <jason.cj.chen@intel.com> Signed-off-by: Zide Chen <zide.chen@intel.com> Acked-by: Eddie Dong <eddie.dong> Acked-by: Xu, Anthony <anthony.xu@intel.com>
This commit is contained in:
@@ -68,6 +68,7 @@ struct e820_mem_params {
|
||||
};
|
||||
|
||||
int prepare_vm0_memmap_and_e820(struct vm *vm);
|
||||
uint64_t e820_alloc_low_memory(uint32_t size);
|
||||
|
||||
/* Definition for a mem map lookup */
|
||||
struct vm_lu_mem_map {
|
||||
|
Reference in New Issue
Block a user