From 8967e07e1b7531d0b4012949f09452aed41b20ef Mon Sep 17 00:00:00 2001 From: Konrad Rzeszutek Wilk Date: Thu, 22 Sep 2011 16:28:08 -0400 Subject: [PATCH] Revert "xen/e820: if there is no dom0_mem=, don't tweak extra_pages." This reverts commit 38ec5d3381179924085ac3b21caa8f27da9ba8b3. We will use an version that went upstream. --- arch/x86/xen/setup.c | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c index 64de843d7b67..ff3dfa176814 100644 --- a/arch/x86/xen/setup.c +++ b/arch/x86/xen/setup.c @@ -184,19 +184,16 @@ static unsigned long __init xen_set_identity(const struct e820entry *list, return identity; } -static bool __init xen_get_max_pages(unsigned long *max_pages) +static unsigned long __init xen_get_max_pages(void) { + unsigned long max_pages = MAX_DOMAIN_PAGES; domid_t domid = DOMID_SELF; int ret; ret = HYPERVISOR_memory_op(XENMEM_maximum_reservation, &domid); - /* If dom0_mem=X is not used, it will return -1. */ - if (ret > 0) { - *max_pages = (unsigned long)min((unsigned long)ret, - MAX_DOMAIN_PAGES); - return true; - } - return false; + if (ret > 0) + max_pages = ret; + return min(max_pages, MAX_DOMAIN_PAGES); } /** @@ -212,7 +209,7 @@ char * __init xen_memory_setup(void) int rc; struct xen_memory_map memmap; unsigned long extra_pages = 0; - unsigned long extra_limit = 0; + unsigned long extra_limit; unsigned long identity_pages = 0; int i; int op; @@ -307,12 +304,11 @@ char * __init xen_memory_setup(void) sanitize_e820_map(e820.map, ARRAY_SIZE(e820.map), &e820.nr_map); - if (xen_get_max_pages(&extra_limit)) { - if (extra_limit >= max_pfn) - extra_pages = extra_limit - max_pfn; - else - extra_pages = 0; - } + extra_limit = xen_get_max_pages(); + if (extra_limit >= max_pfn) + extra_pages = extra_limit - max_pfn; + else + extra_pages = 0; extra_pages += xen_return_unused_memory(xen_start_info->nr_pages, &e820); -- 2.50.1