From: David Vrabel Date: Tue, 15 Mar 2016 11:22:04 +0000 (+0100) Subject: hvmloader: add high memory e820 region if needed X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~1547 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=24e3e3553b105181a471f16a227331bf427aca3d;p=xen.git hvmloader: add high memory e820 region if needed If the MMIO hole is large and hvmloader needs to relocate memory to immediately above the 4 GiB boundary, the e820 presented to the guest will not have a RAM region above 4 GiB. e.g., a guest with 3 GiB of memory and a 2 GiB MMIO hole will only see 2 GiB. The required e820 memory region above 4 GiB needs to be added, and not just filled in. Signed-off-by: David Vrabel Reviewed-by: Andrew Cooper --- diff --git a/tools/firmware/hvmloader/e820.c b/tools/firmware/hvmloader/e820.c index bbde2be51b..5541b18705 100644 --- a/tools/firmware/hvmloader/e820.c +++ b/tools/firmware/hvmloader/e820.c @@ -99,6 +99,7 @@ void adjust_memory_map(void) ((uint64_t)hvm_info->high_mem_pgend << PAGE_SHIFT) - memory_map.map[i].addr; memory_map.map[i].type = E820_RAM; + memory_map.nr_map++; } }