Fix GDT allocation for SMP guests.
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Fri, 26 Aug 2005 11:00:14 +0000 (11:00 +0000)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Fri, 26 Aug 2005 11:00:14 +0000 (11:00 +0000)
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
linux-2.6-xen-sparse/arch/xen/i386/kernel/smpboot.c
linux-2.6-xen-sparse/arch/xen/x86_64/kernel/smpboot.c

index 9e3efcd0adbb948b21b13180e4c91c75561b438c..dd5eb7b100ede1c266ce776e28e30576be64de23 100644 (file)
@@ -853,7 +853,7 @@ static int __init do_boot_cpu(int apicid)
        atomic_set(&init_deasserted, 0);
 
 #if 1
-       cpu_gdt_descr[cpu].address = __get_free_page(GFP_KERNEL);
+       cpu_gdt_descr[cpu].address = __get_free_page(GFP_KERNEL|__GFP_ZERO);
        BUG_ON(cpu_gdt_descr[0].size > PAGE_SIZE);
        cpu_gdt_descr[cpu].size = cpu_gdt_descr[0].size;
        printk("GDT: copying %d bytes from %lx to %lx\n",
index 4245ac202dab016b726f27b94376083383ade726..035a358efa6353e420356809fd27e4d4f3687ed8 100644 (file)
@@ -739,7 +739,7 @@ static int __cpuinit do_boot_cpu(int cpu, int apicid)
        atomic_set(&init_deasserted, 0);
 
 #ifdef CONFIG_XEN
-       cpu_gdt_descr[cpu].address = __get_free_page(GFP_KERNEL);
+       cpu_gdt_descr[cpu].address = __get_free_page(GFP_KERNEL|__GFP_ZERO);
        BUG_ON(cpu_gdt_descr[0].size > PAGE_SIZE);
        cpu_gdt_descr[cpu].size = cpu_gdt_descr[0].size;
        memcpy((void *)cpu_gdt_descr[cpu].address,