acrn-hypervisor/hypervisor/include/arch/x86/guest
Zide Chen ceb3076b69 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>
2018-05-15 17:25:58 +08:00
..
guest.h HV: added memory allocation functions for AP trampoline code relocation 2018-05-15 17:25:58 +08:00
pm.h HV Cx: add hypercall function to retrieve host cx 2018-05-15 17:25:57 +08:00
ucode.h hv: microcode: Enable microcode update from SOS. 2018-05-15 17:19:37 +08:00
vcpu.h check validity of 'VM-exit Int-Info' before extracting vector 2018-05-15 17:25:55 +08:00
vioapic.h initial import 2018-05-11 14:44:28 +08:00
vlapic.h hv: vlapic: simple vlapic_rd/wr input 2018-05-15 17:19:38 +08:00
vm.h rename 'req_buf' field in 'struct vm_sw_info' 2018-05-15 17:25:58 +08:00
vpic.h initial import 2018-05-11 14:44:28 +08:00