[OpenBIOS] [commit] r1029 - in trunk/openbios-devel: arch/ppc/qemu include/arch/ppc

repository service svn at openbios.org
Sun Feb 13 21:54:48 CET 2011


Author: afaerber
Date: Sun Feb 13 21:54:47 2011
New Revision: 1029
URL: http://tracker.coreboot.org/trac/openbios/changeset/1029

Log:
ppc64: Re-enable SF bit after returning from ELF binary

When returning from the binary, enable Sixty-Four Bit Mode.
Leave it disabled on entry, as enabling it breaks multiple guests.

Signed-off-by: Andreas Färber <andreas.faerber at web.de>

Modified:
   trunk/openbios-devel/arch/ppc/qemu/start.S
   trunk/openbios-devel/include/arch/ppc/processor.h

Modified: trunk/openbios-devel/arch/ppc/qemu/start.S
==============================================================================
--- trunk/openbios-devel/arch/ppc/qemu/start.S	Sun Feb 13 21:31:14 2011	(r1028)
+++ trunk/openbios-devel/arch/ppc/qemu/start.S	Sun Feb 13 21:54:47 2011	(r1029)
@@ -494,6 +494,11 @@
 	MTMSRD(r0)
 	blrl
 
+#ifdef CONFIG_PPC64
+    /* Restore SF bit */
+    LOAD_REG_IMMEDIATE(r0, MSR_SF | MSR_FP | MSR_ME | MSR_DR | MSR_IR)
+    MTMSRD(r0)
+#endif
 	LOAD_REG_IMMEDIATE(r8, saved_stack)		// restore stack pointer
 	mr	r1,r8
 	PPC_LL r0, (STACKFRAME_MINSIZE + PPC_LR_STKOFF)(r1)

Modified: trunk/openbios-devel/include/arch/ppc/processor.h
==============================================================================
--- trunk/openbios-devel/include/arch/ppc/processor.h	Sun Feb 13 21:31:14 2011	(r1028)
+++ trunk/openbios-devel/include/arch/ppc/processor.h	Sun Feb 13 21:54:47 2011	(r1029)
@@ -40,6 +40,8 @@
 
 #ifndef MSR_VEC
 
+#define MSR_SF      (1 << 63)   /* Sixty-Four Bit Mode */
+
 #define MSR_VEC		(1<<25)		/*  6: Enable AltiVec */
 #define MSR_POW		(1<<18)		/* 13: Enable Power Management */
 #define MSR_TGPR	(1<<17)		/* 14: TLB Update registers in use */



More information about the OpenBIOS mailing list