acrn-hypervisor/hypervisor/boot
Zide Chen cf1515d63c hv: optimize the assignment of load addresses for multiboot images
bootargs_load_addr (GPA) and zero page which locates at one page follows it:
- SOS: currently it's fixed at 0x24EFC000. Theoretically, this address may
  not exist if the system has small memory size.
- pre-launched VMs: currently it's at (vm_config->memory.size - 8KB).
  It doesn't work if the guest has been assigned for more than 4GB memory
  size, because zero page must be under 4GB.
- This patch reserves 8KB for bootargs_load_addr right before kernel_load_addr
  for either SOS or pre-launched VMs.

ramdisk_load_addr (GPA):
- pre-launched VMs: currently it doesn't allow ramdisk.
- SOS: currently it's assigned at mods[].mm_mod_start. It's a bug because it
  misses the hpa2gpa() conversion.
- This patch puts ramdisk_load_addr right after (kernel_load_addr + kernel_size),
  which has 2 benefits:
  - for pre-launched VMs, mods[].mm_mod_start may be out of its GPA range.
  - it may be better to consolidate everything (bootarg, kernel, ramdisk) in
    consecutive GPA, other than spread them out in different places.

Tracked-On: #2587
Signed-off-by: Zide Chen <zide.chen@intel.com>
Reviewed-by: Eddie Dong <eddie.dong@intel.com>
Reviewed-by: Victor Sun <victor.sun@intel.com>
Acked-by: Anthony Xu <anthony.xu@intel.com>
2019-02-27 09:54:42 +08:00
..
include hv:cleanup header files for arch folder 2019-02-22 13:14:36 +08:00
sbl hv: optimize the assignment of load addresses for multiboot images 2019-02-27 09:54:42 +08:00
uefi HV: modularization improve UEFI macro control code 2019-01-30 16:11:39 +08:00
acpi.c hv: Enumerate IOAPIC info from MADT 2019-02-01 15:54:55 +08:00
dmar_parse.c hv: Use Interrupt Remapping format for programming interrupt sources 2019-02-01 15:54:55 +08:00
reloc.c HV: MISRA clean in reloc.c 2019-01-30 20:40:11 +08:00