[OpenBIOS] [commit] r1102 - trunk/openbios-devel/arch/ppc/qemu

repository service svn at openbios.org
Sat Mar 9 00:37:45 CET 2013


Author: agraf
Date: Sat Mar  9 00:37:44 2013
New Revision: 1102
URL: http://tracker.coreboot.org/trac/openbios/changeset/1102

Log:
PPC: Handle trap_error on ppc64

When running on ppc64, we have to disable MSR_SF before we issue a
lis instruction. All exceptions were doing this, except for the error
trap.

This isn't crucial, because when we got there we're already screwed up,
but let's not confuse users by jumping to invalid addresses.

Signed-off-by: Alexander Graf <agraf at suse.de>

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

Modified: trunk/openbios-devel/arch/ppc/qemu/start.S
==============================================================================
--- trunk/openbios-devel/arch/ppc/qemu/start.S	Sun Mar  3 10:02:29 2013	(r1101)
+++ trunk/openbios-devel/arch/ppc/qemu/start.S	Sat Mar  9 00:37:44 2013	(r1102)
@@ -296,6 +296,14 @@
 	EXCEPTION_EPILOGUE
 
 trap_error:
+	lis	r1, 0x8000			/* r1=0x80000000 */
+	add.	r1,r1,r1			/* r1=r1+r1 (high 32bit !0) */
+	beq	1f
+
+	mfmsr	r1  				/* unset MSR_SF */
+	clrldi	r1,r1,1
+	mtmsrd	r1
+1:
 	mflr	r3
 	LOAD_REG_FUNC(r4, unexpected_excep)
 	mtctr r4



More information about the OpenBIOS mailing list