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 <david.vrabel@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
This commit is contained in:
David Vrabel authored and Jan Beulich committed 2016-03-15 12:22:04 +01:00
1 parent 79713ed0a9
commit 24e3e3553b
1 file changed
+1
+1
View File
@@ -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++;
}
}
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.