Message ID | 1457978017-30974-1-git-send-email-david.vrabel@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 14/03/16 17:53, David Vrabel wrote: > 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 <david.vrabel@citrix.com> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
diff --git a/tools/firmware/hvmloader/e820.c b/tools/firmware/hvmloader/e820.c index bbde2be..5541b18 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++; } }
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 <david.vrabel@citrix.com> --- tools/firmware/hvmloader/e820.c | 1 + 1 file changed, 1 insertion(+)