[OpenBIOS] [PATCH] ppc: Don't do relative branches from relocated memory

Andreas Färber andreas.faerber at web.de
Sun Feb 24 23:32:51 CET 2013


On startup, OpenBIOS copies exception vectors to 0x00000000.
Therefore jumps cannot be performed relative to the compile-time address
to outside the relocated exception vectors.

QEMU's g3beige and mac99 did not run into this so far, but prep does.

Signed-off-by: Andreas Färber <andreas.faerber at web.de>
---
 arch/ppc/qemu/start.S |    4 +++-
 1 Datei geändert, 3 Zeilen hinzugefügt(+), 1 Zeile entfernt(-)

diff --git a/arch/ppc/qemu/start.S b/arch/ppc/qemu/start.S
index 5c86d74..66987a0 100644
--- a/arch/ppc/qemu/start.S
+++ b/arch/ppc/qemu/start.S
@@ -302,7 +302,9 @@ trap_error:
 	bctr
 
 VECTOR( 0x100, "SRE" ):
-        b       _entry
+    LOAD_REG_IMMEDIATE(r3, _entry)
+    mtctr r3
+    bctr
 
 ILLEGAL_VECTOR( 0x200 )
 
-- 
1.7.10.4




More information about the OpenBIOS mailing list