[OpenBIOS] [PATCH 1/4] ppc: Use vector-local version of exception_return

Andreas Färber andreas.faerber at web.de
Mon Nov 1 21:56:53 CET 2010


On ppc64 the high 32 address bits are clear, so ba's sign extension
cannot be used to branch to the ROM version of exception_return.
Use a relative branch to the relocated version instead.

This fixes relocation linker errors for ppc64.

Cc: Alexander Graf <agraf at suse.de>
Signed-off-by: Andreas Färber <andreas.faerber at web.de>
---
 arch/ppc/qemu/start.S |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/ppc/qemu/start.S b/arch/ppc/qemu/start.S
index 27168ad..3ee59d7 100644
--- a/arch/ppc/qemu/start.S
+++ b/arch/ppc/qemu/start.S
@@ -206,7 +206,7 @@ VECTOR( 0x300, "DSI" ):
 	addi	r3,r3,LO(dsi_exception)
 	mtctr	r3
 	bctrl
-	ba	exception_return
+	b	exception_return
 
 VECTOR( 0x400, "ISI" ):
 	EXCEPTION_PREAMBLE
@@ -214,7 +214,7 @@ VECTOR( 0x400, "ISI" ):
 	addi	r3,r3,LO(isi_exception)
 	mtctr	r3
 	bctrl
-	ba	exception_return
+	b	exception_return
 
 	ILLEGAL_VECTOR( 0x500 )
 	ILLEGAL_VECTOR( 0x600 )
-- 
1.7.3




More information about the OpenBIOS mailing list