[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Changeset 15035 causes x86-32 to hang
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx wrote on 05/26/2007 01:31:51 AM: > On 26/5/07 00:46, "Stefan Berger" <stefanb@xxxxxxxxxx> wrote: > > This changeset seems to have introduced some general instability. A > > complete hang at boot is the best most reproducible case reported so > > far however. It would be great if you can add some tracing and find > > out what is going on. It may be that the underlying bug is also > > responsible for some issues which are harder to reproduce and track down. > > At what point does printk() work? All the way at the entry point of > __start_xen()? > I have added some printks there but haven't seen any output to the > screen so far. Looking at the assembly part now that's calling __start_xen(). > > I'd help, but I'll be away for a couple of days starting tomorrow... > > If you have a serial line attached then you can output characters as > early as you like with just a couple of machine instructions. > Outputting to VGA text console is similarly quite easy (just write > characters to the text console at 0xb8000). It’s not full printk, > but is sufficient to track down how far your boot is getting before > crash or hang. From xen/arch/x86/boot/trampoline.S: [...] #if CONFIG_PAGING_LEVELS != 2 /* Set up EFER (Extended Feature Enable Register). */ movl $MSR_EFER,%ecx rdmsr [...] The rdmsr is causing the crash on my machines. This patch fixes the problem: Signed-off-by: Stefan Berger <stefanb@xxxxxxxxxx> diff -r bd3d6b4c52ec xen/arch/x86/boot/trampoline.S --- a/xen/arch/x86/boot/trampoline.S Fri Jun 01 14:50:52 2007 +0100 +++ b/xen/arch/x86/boot/trampoline.S Mon Jun 04 12:41:28 2007 -0400 @@ -59,6 +59,10 @@ trampoline_protmode_entry: mov %eax,%cr3 #if CONFIG_PAGING_LEVELS != 2 + mov SYM_TRAMP_PHYS(cpuid_ext_features),%edi + btl $20,%edi /* CPUID 0x80000001, EDX[20] */ + jnc 2f + /* Set up EFER (Extended Feature Enable Register). */ movl $MSR_EFER,%ecx rdmsr @@ -66,13 +70,10 @@ trampoline_protmode_entry: btsl $_EFER_LME,%eax /* Long Mode */ btsl $_EFER_SCE,%eax /* SYSCALL/SYSRET */ #endif - mov SYM_TRAMP_PHYS(cpuid_ext_features),%edi - btl $20,%edi /* CPUID 0x80000001, EDX[20] */ - jnc 1f btsl $_EFER_NX,%eax /* No-Execute */ -1: wrmsr + wrmsr #endif - +2: mov $0x80050033,%eax /* hi-to-lo: PG,AM,WP,NE,ET,MP,PE */ mov %eax,%cr0 jmp 1f Stefan > > -- Keir_______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |