Changeset 69c1995 in mainline for kernel/arch/arm32/src/exception.c


Ignore:
Timestamp:
2012-11-29T12:53:45Z (12 years ago)
Author:
Jan Vesely <jano.vesely@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
e80d8f8
Parents:
3194d83 (diff), ce60be1 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge ARM fpu hw support.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/arm32/src/exception.c

    r3194d83 r69c1995  
    161161}
    162162
     163/** Undefined instruction exception handler.
     164 *
     165 * Calls scheduler_fpu_lazy_request
     166 */
     167static void undef_insn_exception(unsigned int exc_no, istate_t *istate)
     168{
     169        if (!handle_if_fpu_exception()) {
     170                fault_if_from_uspace(istate, "Undefined instruction.");
     171                panic_badtrap(istate, exc_no, "Undefined instruction.");
     172        } else {
     173                /*
     174                 * Retry the failing instruction,
     175                 * ARM Architecture Reference Manual says on p.B1-1169
     176                 * that offset for undef instruction exception is 4
     177                 */
     178                istate->pc -= 4;
     179        }
     180}
     181
    163182/** Initializes exception handling.
    164183 *
     
    174193        install_exception_handlers();
    175194       
     195        exc_register(EXC_UNDEF_INSTR, "undefined instruction", true,
     196            (iroutine_t) undef_insn_exception);
    176197        exc_register(EXC_IRQ, "interrupt", true,
    177198            (iroutine_t) irq_exception);
Note: See TracChangeset for help on using the changeset viewer.