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

repository service svn at openbios.org
Thu May 29 00:15:33 CEST 2014


Author: agraf
Date: Thu May 29 00:15:33 2014
New Revision: 1305
URL: http://tracker.coreboot.org/trac/openbios/changeset/1305

Log:
arch/ppc/qemu: Moved exception handlers from beginning of RAM

Do not put exception handler routines between 0x00-0xff as some OSes
use this area for their own purposes and can corrupt them. (In
particular MorphOS writes to 0x80 during boot). This patch frees up
this area by moving the routines that were there higher.

Signed-off-by: BALATON Zoltan <balaton at eik.bme.hu>
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 May 25 11:50:05 2014	(r1304)
+++ trunk/openbios-devel/arch/ppc/qemu/start.S	Thu May 29 00:15:33 2014	(r1305)
@@ -280,20 +280,8 @@
 1:	nop			//
 	b	1b
 
-call_dsi_exception:
-	LOAD_REG_FUNC(r3, dsi_exception)
-	mtctr	r3
-	bctrl
-	b	exception_return
-
-call_isi_exception:
-	LOAD_REG_FUNC(r3, isi_exception)
-	mtctr	r3
-	bctrl
-	b	exception_return
-
-exception_return:
-	EXCEPTION_EPILOGUE
+VECTOR( 0x100, "SRE" ):
+        b       _entry
 
 trap_error:
 	lis	r1, 0x8000			/* r1=0x80000000 */
@@ -309,9 +297,6 @@
 	mtctr r4
 	bctr
 
-VECTOR( 0x100, "SRE" ):
-        b       _entry
-
 ILLEGAL_VECTOR( 0x200 )
 
 VECTOR( 0x300, "DSI" ):
@@ -373,11 +358,20 @@
 
 real_dsi:
 	EXCEPTION_PREAMBLE
-	b	call_dsi_exception
+	LOAD_REG_FUNC(r3, dsi_exception)
+	mtctr	r3
+	bctrl
+	b exception_return
 
 real_isi:
 	EXCEPTION_PREAMBLE
-	b	call_isi_exception
+	LOAD_REG_FUNC(r3, isi_exception)
+	mtctr	r3
+	bctrl
+	b exception_return
+
+exception_return:
+	EXCEPTION_EPILOGUE
 
 GLOBL(__vectors_end):
 



More information about the OpenBIOS mailing list