[OpenBIOS] [PATCH] ppc: unexpected_excep() needs an absolute branch

Andreas Färber andreas.faerber at web.de
Mon Dec 13 23:12:02 CET 2010


When called from address 0x700, trap_error must not use a relative branch
to unexpected_excep() since that is beyond __vectors_end.

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

diff --git a/arch/ppc/qemu/start.S b/arch/ppc/qemu/start.S
index b227ef2..4b25650 100644
--- a/arch/ppc/qemu/start.S
+++ b/arch/ppc/qemu/start.S
@@ -288,7 +288,9 @@ exception_return:
 _GLOBAL(__divide_error):
 trap_error:
 	mflr	r3
-	b	BRANCH_LABEL(unexpected_excep)
+	LOAD_REG_FUNC(r4, unexpected_excep)
+	mtctr r4
+	bctr
 
 VECTOR( 0x100, "SRE" ):
         b       _entry
-- 
1.7.3




More information about the OpenBIOS mailing list