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@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