Fix exception stack frame for or1k

- We do not need a red zone here, as we do not operate on the current
  stack, but always use the clear exception stack. Also reserve two
  extra words for the context to store EPCR and ESR.

    * or1k/crt0.S: Fix exception stack frame
    * or1k/exception-asm.S: ditto
This commit is contained in:
Jeff Johnston 2015-05-26 15:21:52 -04:00 committed by Corinna Vinschen
parent 132030fcf2
commit a6342974b0
3 changed files with 8 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2015-05-26 Stefan Wallentowitz <stefan.wallentowitz@tum.de>
* or1k/crt0.S: Fix exception stack frame
* or1k/exception-asm.S: ditto
2015-05-26 Stefan Wallentowitz <stefan.wallentowitz@tum.de>
* or1k/interruts-asm.S: Change registers to callee-saved.

View File

@ -61,10 +61,10 @@
// Reserved stack size for exceptions (can usually be smaller than normal stack)
#define EXCEPTION_STACK_SIZE 8192
// Size of redzone + size of space required to store state
// Size of space required to store state
// This value must match that in the support library or1k_exception_handler
// function
#define EXCEPTION_STACK_FRAME (128+128)
#define EXCEPTION_STACK_FRAME 136
.extern _or1k_stack_top /* points to the next address after the stack */
.extern _or1k_stack_bottom /* points to the last address in the stack */

View File

@ -24,7 +24,7 @@
*/
/* -------------------------------------------------------------------------- */
// Warning - this must be the same as specified in crt0.S
#define EXCEPTION_STACK_SIZE 128+128
#define EXCEPTION_STACK_SIZE 136
.extern _or1k_exception_handler_table