summaryrefslogtreecommitdiff
path: root/arch/x86/xen/setup.c
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2012-01-04 00:27:45 +0400
committerArnd Bergmann <arnd@arndb.de>2012-01-04 00:27:45 +0400
commit5d3cb0ffdd0c8987dc17a2ef4529b246198ceb72 (patch)
treec60bdca0529cbd44d32b3918b78d14e182ef57cd /arch/x86/xen/setup.c
parent3b0d597139efddfd8960b44249b4a4c977d172f1 (diff)
parent5f0a6e2d503896062f641639dacfe5055c2f593b (diff)
downloadlinux-5d3cb0ffdd0c8987dc17a2ef4529b246198ceb72.tar.xz
Merge branch 'v3.2-rc7' into next/pm
Conflicts: arch/arm/kernel/setup.c arch/arm/mach-shmobile/board-kota2.c
Diffstat (limited to 'arch/x86/xen/setup.c')
-rw-r--r--arch/x86/xen/setup.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/arch/x86/xen/setup.c b/arch/x86/xen/setup.c
index 38d0af4fefec..b2c7179fa263 100644
--- a/arch/x86/xen/setup.c
+++ b/arch/x86/xen/setup.c
@@ -173,9 +173,21 @@ static unsigned long __init xen_get_max_pages(void)
domid_t domid = DOMID_SELF;
int ret;
- ret = HYPERVISOR_memory_op(XENMEM_maximum_reservation, &domid);
- if (ret > 0)
- max_pages = ret;
+ /*
+ * For the initial domain we use the maximum reservation as
+ * the maximum page.
+ *
+ * For guest domains the current maximum reservation reflects
+ * the current maximum rather than the static maximum. In this
+ * case the e820 map provided to us will cover the static
+ * maximum region.
+ */
+ if (xen_initial_domain()) {
+ ret = HYPERVISOR_memory_op(XENMEM_maximum_reservation, &domid);
+ if (ret > 0)
+ max_pages = ret;
+ }
+
return min(max_pages, MAX_DOMAIN_PAGES);
}
@@ -410,6 +422,6 @@ void __init xen_arch_setup(void)
#endif
disable_cpuidle();
boot_option_idle_override = IDLE_HALT;
-
+ WARN_ON(set_pm_idle_to_default());
fiddle_vdso();
}