Author: agraf Date: Sat Mar 9 00:37:44 2013 New Revision: 1102 URL: http://tracker.coreboot.org/trac/openbios/changeset/1102
Log: PPC: Handle trap_error on ppc64
When running on ppc64, we have to disable MSR_SF before we issue a lis instruction. All exceptions were doing this, except for the error trap.
This isn't crucial, because when we got there we're already screwed up, but let's not confuse users by jumping to invalid addresses.
Signed-off-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 Sun Mar 3 10:02:29 2013 (r1101) +++ trunk/openbios-devel/arch/ppc/qemu/start.S Sat Mar 9 00:37:44 2013 (r1102) @@ -296,6 +296,14 @@ EXCEPTION_EPILOGUE
trap_error: + lis r1, 0x8000 /* r1=0x80000000 */ + add. r1,r1,r1 /* r1=r1+r1 (high 32bit !0) */ + beq 1f + + mfmsr r1 /* unset MSR_SF */ + clrldi r1,r1,1 + mtmsrd r1 +1: mflr r3 LOAD_REG_FUNC(r4, unexpected_excep) mtctr r4