[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-ia64-devel] [PATCH] kexec/kdump: statically allocate xen_phys_cpus



On IA64 alloc_bootmem_low() can't be called this early.

Before alloc_bootmem_low() can be called init_bootmem(), which is called in
find_memory(). However xen_machine_kexec_setup_resources() is indirectly
called earlier on in find_memory().

Cc: Ian Campbell <ian.campbell@xxxxxxxxxxxxx>
Signed-off-by: Simon Horman <horms@xxxxxxxxxxxx>

---
Date: Thu, 20 Sep 2007 13:37:10 +0900
From: Simon Horman <horms@xxxxxxxxxxxx>

Posted to xen-devel as it changes common code.
As suggested by Alex Williamson.

Index: x/drivers/xen/core/machine_kexec.c
===================================================================
--- x/drivers/xen/core/machine_kexec.c  2007-05-11 18:19:20.000000000 +0900
+++ x/drivers/xen/core/machine_kexec.c  2007-05-14 19:18:03.000000000 +0900
@@ -13,7 +13,7 @@ extern void machine_kexec_setup_load_arg
 
 static int __initdata xen_max_nr_phys_cpus;
 static struct resource xen_hypervisor_res;
-static struct resource *xen_phys_cpus;
+static struct resource xen_phys_cpus[NR_CPUS];
 
 void __init xen_machine_kexec_setup_resources(void)
 {
@@ -42,11 +42,6 @@ void xen_machine_kexec_setup_resources(v
 
        xen_max_nr_phys_cpus = k;
 
-       /* allocate xen_phys_cpus */
-
-       xen_phys_cpus = alloc_bootmem_low(k * sizeof(struct resource));
-       BUG_ON(xen_phys_cpus == NULL);
-
        /* fill in xen_phys_cpus with per-cpu crash note information */
 
        for (k = 0; k < xen_max_nr_phys_cpus; k++) {

_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.