Author: afaerber Date: Tue Nov 2 23:07:27 2010 New Revision: 942 URL: http://tracker.coreboot.org/trac/openbios/changeset/942
Log: ppc: Use vector-local version of exception_return
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.
Signed-off-by: Andreas Färber andreas.faerber@web.de Acked-by: Alexander Graf agraf@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 Mon Nov 1 18:31:11 2010 (r941) +++ trunk/openbios-devel/arch/ppc/qemu/start.S Tue Nov 2 23:07:27 2010 (r942) @@ -206,7 +206,7 @@ addi r3,r3,LO(dsi_exception) mtctr r3 bctrl - ba exception_return + b exception_return
VECTOR( 0x400, "ISI" ): EXCEPTION_PREAMBLE @@ -214,7 +214,7 @@ addi r3,r3,LO(isi_exception) mtctr r3 bctrl - ba exception_return + b exception_return
ILLEGAL_VECTOR( 0x500 ) ILLEGAL_VECTOR( 0x600 )