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

[Xen-devel] Re: [Fedora-xen] 2.6.31-1.2.65.xendom0.fc12.x86_64 crash on boot



On 09/15/09 04:39, Pasi Kärkkäinen wrote:
> On Tue, Sep 15, 2009 at 07:29:52AM -0400, Charles Gruener wrote:
>   
>> Thanks for the help on configuring my boot options.  I apologize that  
>> I forgot to mention I'm using the latest kernel from M. Young,  
>> 2.6.31-1.2.65.xendom0.fc12.x86_64.  Here's what I get now that I've  
>> done all of what you've said:
>>
>>     
> Ok. I've CCd Jeremy and xen-devel. 
>
> Does this crash look familiar to you Jeremy? 
>   

Does this fix it?

>From 76ca2d74040210450a670df773d760867f07d519 Mon Sep 17 00:00:00 2001
From: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx>
Date: Tue, 15 Sep 2009 14:18:12 -0700
Subject: [PATCH] xen: check EFER for NX before setting up GDT mapping

x86-64 assumes NX is available by default, so we need to
explicitly check for it before using NX.  Some first-generation
Intel x86-64 processors didn't support NX, and even recent systems
allow it to be disabled in BIOS.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx>

diff --git a/arch/x86/mm/Makefile b/arch/x86/mm/Makefile
index 72bb3a2..0088329 100644
--- a/arch/x86/mm/Makefile
+++ b/arch/x86/mm/Makefile
@@ -4,6 +4,7 @@ obj-y   :=  init.o init_$(BITS).o fault.o ioremap.o extable.o 
pageattr.o mmap.o \
 # Make sure __phys_addr has no stackprotector
 nostackp := $(call cc-option, -fno-stack-protector)
 CFLAGS_ioremap.o               := $(nostackp)
+CFLAGS_init.o                  := $(nostackp)
 
 obj-$(CONFIG_SMP)              += tlb.o
 
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 03644f9..5b55c92 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -1092,6 +1092,11 @@ asmlinkage void __init xen_start_kernel(void)
 
        __supported_pte_mask |= _PAGE_IOMAP;
 
+#ifdef CONFIG_X86_64
+       /* Work out if we support NX */
+       check_efer();
+#endif
+
        xen_setup_features();
 
        /* Get mfn list */
@@ -1132,11 +1137,6 @@ asmlinkage void __init xen_start_kernel(void)
 
        pgd = (pgd_t *)xen_start_info->pt_base;
 
-#ifdef CONFIG_X86_64
-       /* Work out if we support NX */
-       check_efer();
-#endif
-
        /* Don't do the full vcpu_info placement stuff until we have a
           possible map and a non-dummy shared_info. */
        per_cpu(xen_vcpu, 0) = &HYPERVISOR_shared_info->vcpu_info[0];



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


 


Rackspace

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