[OpenBIOS] [PATCH] arch/ppc/qemu: Move and simplify DSI and ISI exception handler routines

BALATON Zoltan balaton at eik.bme.hu
Sat Apr 12 14:18:17 CEST 2014


The routines are moved to avoid overwriting by the MorphOS boot code
which writes to address 0x80 during start up.

Signed-off-by: BALATON Zoltan <balaton at eik.bme.hu>

Index: openbios-devel/arch/ppc/qemu/start.S
===================================================================
--- openbios-devel/arch/ppc/qemu/start.S	(revision 1286)
+++ openbios-devel/arch/ppc/qemu/start.S	(working copy)
@@ -280,21 +280,6 @@
 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
-
 trap_error:
 	lis	r1, 0x8000			/* r1=0x80000000 */
 	add.	r1,r1,r1			/* r1=r1+r1 (high 32bit !0) */
@@ -371,13 +356,19 @@

 #endif

+VECTOR( 0x3000, "DSI_ISI" ):
 real_dsi:
 	EXCEPTION_PREAMBLE
-	b	call_dsi_exception
+	LOAD_REG_FUNC(r3, dsi_exception)
+	b call_exception_handler

 real_isi:
 	EXCEPTION_PREAMBLE
-	b	call_isi_exception
+	LOAD_REG_FUNC(r3, isi_exception)
+call_exception_handler:
+	mtctr	r3
+	bctrl
+	EXCEPTION_EPILOGUE

 GLOBL(__vectors_end):




More information about the OpenBIOS mailing list