[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] tools/libxl: mark special pages as reserved in e820 map for PVH
commit 1a42ffa3476ab433da9dc27c6d36f051b70592ed Author: Juergen Gross <jgross@xxxxxxxx> AuthorDate: Tue Nov 21 12:06:06 2017 +0100 Commit: Wei Liu <wei.liu2@xxxxxxxxxx> CommitDate: Tue Feb 13 12:36:07 2018 +0000 tools/libxl: mark special pages as reserved in e820 map for PVH The "special pages" for PVH guests include the frames for console and Xenstore ring buffers. Those have to be marked as "Reserved" in the guest's E820 map, as otherwise conflicts might arise later e.g. when hotplugging memory into the guest. Signed-off-by: Juergen Gross <jgross@xxxxxxxx> Reviewed-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx> --- tools/libxl/libxl_x86.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tools/libxl/libxl_x86.c b/tools/libxl/libxl_x86.c index 5f91fe4..d82013f 100644 --- a/tools/libxl/libxl_x86.c +++ b/tools/libxl/libxl_x86.c @@ -530,6 +530,9 @@ int libxl__arch_domain_construct_memmap(libxl__gc *gc, if (d_config->rdms[i].policy != LIBXL_RDM_RESERVE_POLICY_INVALID) e820_entries++; + /* Add mmio entry for PVH. */ + if (dom->mmio_size && d_config->b_info.type == LIBXL_DOMAIN_TYPE_PVH) + e820_entries++; /* If we should have a highmem range. */ if (highmem_size) @@ -564,6 +567,14 @@ int libxl__arch_domain_construct_memmap(libxl__gc *gc, nr++; } + /* mmio area */ + if (dom->mmio_size && d_config->b_info.type == LIBXL_DOMAIN_TYPE_PVH) { + e820[nr].addr = dom->mmio_start; + e820[nr].size = dom->mmio_size; + e820[nr].type = E820_RESERVED; + nr++; + } + for (i = 0; i < MAX_ACPI_MODULES; i++) { if (dom->acpi_modules[i].length) { e820[nr].addr = dom->acpi_modules[i].guest_addr_out & ~(page_size - 1); -- generated by git-patchbot for /home/xen/git/xen.git#master _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |