[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] xen: Boot on PAE systems with no EFER MSR.
# HG changeset patch # User kfraser@xxxxxxxxxxxxxxxxxxxxx # Date 1181035739 -3600 # Node ID 0feaf2fc75d3e05f65b840f650166b54d7d5eb8e # Parent 4f05a587cb6b146e1a24a5a672566ac35de40b71 xen: Boot on PAE systems with no EFER MSR. Bug tracked down by Stefan Berger. Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx> --- xen/arch/x86/boot/trampoline.S | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-) diff -r 4f05a587cb6b -r 0feaf2fc75d3 xen/arch/x86/boot/trampoline.S --- a/xen/arch/x86/boot/trampoline.S Tue Jun 05 10:08:09 2007 +0100 +++ b/xen/arch/x86/boot/trampoline.S Tue Jun 05 10:28:59 2007 +0100 @@ -60,17 +60,20 @@ trampoline_protmode_entry: #if CONFIG_PAGING_LEVELS != 2 /* Set up EFER (Extended Feature Enable Register). */ + mov SYM_TRAMP_PHYS(cpuid_ext_features),%edi + test $0x20100800,%edi /* SYSCALL/SYSRET, No Execute, Long Mode? */ + jz .Lskip_efer movl $MSR_EFER,%ecx rdmsr #if CONFIG_PAGING_LEVELS == 4 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] */ + btl $20,%edi /* No Execute? */ jnc 1f - btsl $_EFER_NX,%eax /* No-Execute */ + btsl $_EFER_NX,%eax /* No Execute */ 1: wrmsr +.Lskip_efer: #endif mov $0x80050033,%eax /* hi-to-lo: PG,AM,WP,NE,ET,MP,PE */ _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |