From 2f40f165d62ff4eeda12575f5c4e13e6770b4b72 Mon Sep 17 00:00:00 2001 From: "kfraser@localhost.localdomain" Date: Fri, 23 Feb 2007 16:16:36 +0000 Subject: [PATCH] hvm: unset_mm_mapping() for vga acceleration region should recalculate maxmem setting before freeing memory! Signed-off-by: Keir Fraser --- tools/ioemu/vl.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/ioemu/vl.c b/tools/ioemu/vl.c index ed29028d41..bf6392058d 100644 --- a/tools/ioemu/vl.c +++ b/tools/ioemu/vl.c @@ -5768,17 +5768,17 @@ int unset_mm_mapping(int xc_handle, uint32_t domid, int err = 0; xc_dominfo_t info; + xc_domain_getinfo(xc_handle, domid, 1, &info); + if ((info.nr_pages - nr_pages) <= 0) { + fprintf(stderr, "unset_mm_mapping: error nr_pages\n"); + err = -1; + } + err = xc_domain_memory_decrease_reservation(xc_handle, domid, nr_pages, 0, extent_start); if (err) fprintf(stderr, "Failed to decrease physmap\n"); - xc_domain_getinfo(xc_handle, domid, 1, &info); - - if ((info.nr_pages - nr_pages) <= 0) { - fprintf(stderr, "unset_mm_mapping: error nr_pages\n"); - err = -1; - } if (xc_domain_setmaxmem(xc_handle, domid, (info.nr_pages - nr_pages) * PAGE_SIZE/1024) != 0) {