From 981b99faf208e2c7f6e2b83d73e1b89b669112ee Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 10 Aug 1999 16:41:44 +0000 Subject: Patch from Eric Valette and Emmanuel Raguet : - the dec21140 driver code has been hardened (various bug fixed) Emmanuel, - bug in the mcp750 init code have been fixed (interrupt stack/initial stack initialization), BSS correctly cleared (Eric V) - remote debugging over TCP/IP is nearly complete (berakpoints, backtrace, variables,...) (Eric V), - exception handling code has also been improved in order to fully support RDBG requirements (Eric V), --- .../powerpc/motorola_powerpc/vectors/vectors.S | 24 ++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) (limited to 'c/src/lib/libbsp/powerpc/motorola_powerpc/vectors/vectors.S') diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/vectors/vectors.S b/c/src/lib/libbsp/powerpc/motorola_powerpc/vectors/vectors.S index 7fe6a82f73..fca0cbfac1 100644 --- a/c/src/lib/libbsp/powerpc/motorola_powerpc/vectors/vectors.S +++ b/c/src/lib/libbsp/powerpc/motorola_powerpc/vectors/vectors.S @@ -86,6 +86,14 @@ SYM (push_normalized_frame): stw r30, EXC_CTR_OFFSET(r1) mfxer r28 stw r28, EXC_XER_OFFSET(r1) + /* + * compute SP at exception entry + */ + addi r2, r1, EXCEPTION_FRAME_END + /* + * store it at the right place + */ + stw r2, GPR1_OFFSET(r1) /* * Enable data and instruction address translation, exception nesting */ @@ -97,8 +105,17 @@ SYM (push_normalized_frame): /* * Call C exception handler */ + /* + * store the execption frame address in r3 (first param) + */ addi r3, r1, 0x8 - bl C_exception_handler + /* + * globalExceptHdl(r3) + */ + addis r4, 0, globalExceptHdl@ha + lwz r5, globalExceptHdl@l(r4) + mtlr r5 + blrl /* * Restore registers status */ @@ -135,8 +152,3 @@ SYM (push_normalized_frame): addi r1,r1, EXCEPTION_FRAME_END SYNC rfi - - - - - -- cgit v1.2.3