nios2: exceptions: remove remaining muldiv references

We are not going to handle unimplemented math instruction
exceptions at runtime. Remove remaining comments and exports
related to this. We don't need to leave a gap in the exception
stack frame for it either.

Change-Id: I4f1f3980a0e43bbf6f2f7488a9182f7acb06be05
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
This commit is contained in:
Andrew Boie 2016-06-28 10:26:40 -07:00 committed by Inaky Perez-Gonzalez
commit 7511a4f606
2 changed files with 4 additions and 9 deletions

View file

@ -21,8 +21,6 @@
/* exports */ /* exports */
GTEXT(_exception) GTEXT(_exception)
GTEXT(_exception_exit)
GTEXT(_exception_enter_fault)
/* import */ /* import */
GTEXT(_Fault) GTEXT(_Fault)
@ -52,7 +50,6 @@ SECTION_FUNC(exception.entry, _exception)
/* Preserve all caller-saved registers onto the thread's stack */ /* Preserve all caller-saved registers onto the thread's stack */
stw ra, __NANO_ESF_ra_OFFSET(sp) stw ra, __NANO_ESF_ra_OFFSET(sp)
/* Gap here for muldiv handler to store zero register */
stw r1, __NANO_ESF_r1_OFFSET(sp) stw r1, __NANO_ESF_r1_OFFSET(sp)
stw r2, __NANO_ESF_r2_OFFSET(sp) stw r2, __NANO_ESF_r2_OFFSET(sp)
stw r3, __NANO_ESF_r3_OFFSET(sp) stw r3, __NANO_ESF_r3_OFFSET(sp)
@ -172,8 +169,7 @@ BRANCH_LABEL(on_irq_stack)
BRANCH_LABEL(not_interrupt) BRANCH_LABEL(not_interrupt)
/* Since this wasn't an interrupt we're not going to restart the /* Since this wasn't an interrupt we're not going to restart the
* faulting instruction. If it's an unimplemented math instruction, * faulting instruction.
* the muldiv code will handle it, else we just give up and _Fault.
* *
* We earlier put ea - 4 in the stack frame, replace it with just ea * We earlier put ea - 4 in the stack frame, replace it with just ea
*/ */
@ -189,9 +185,9 @@ BRANCH_LABEL(not_interrupt)
bne r11, zero, is_interrupt bne r11, zero, is_interrupt
#endif #endif
SECTION_FUNC(exception.entry, _exception_enter_fault) BRANCH_LABEL(_exception_enter_fault)
/* If we get here, the exception wasn't in interrupt or an /* If we get here, the exception wasn't in interrupt or an
* unimplemented math instruction. Let _Fault() handle it in * invocation of irq_oflload(). Let _Fault() handle it in
* C domain * C domain
*/ */
@ -208,7 +204,7 @@ BRANCH_LABEL(no_reschedule)
/* Fall through */ /* Fall through */
SECTION_FUNC(exception.entry, _exception_exit) BRANCH_LABEL(_exception_exit)
/* We are on the thread stack. Restore all saved registers /* We are on the thread stack. Restore all saved registers
* and return to the interrupted context */ * and return to the interrupted context */

View file

@ -137,7 +137,6 @@ void _arch_irq_disable(unsigned int irq);
struct __esf { struct __esf {
uint32_t ra; /* return address r31 */ uint32_t ra; /* return address r31 */
uint32_t r0; /* zero register */
uint32_t r1; /* at */ uint32_t r1; /* at */
uint32_t r2; /* return value */ uint32_t r2; /* return value */
uint32_t r3; /* return value */ uint32_t r3; /* return value */