Ignore:
File:
1 edited

Legend:

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

    r22a28a69 r15817089  
    3737#include <arch/memstr.h>
    3838#include <arch/regutils.h>
    39 #include <arch/machine_func.h>
    4039#include <interrupt.h>
    4140#include <arch/mm/page_fault.h>
     
    4443#include <syscall/syscall.h>
    4544#include <stacktrace.h>
     45
     46#ifdef MACHINE_testarm
     47        #include <arch/mach/testarm/testarm.h>
     48#endif
     49
     50#ifdef MACHINE_integratorcp
     51        #include <arch/mach/integratorcp/integratorcp.h>
     52#endif
    4653
    4754/** Offset used in calculation of exception handler's relative address.
     
    8491 *
    8592 * Dispatches the syscall.
    86  *
    8793 */
    88 static void swi_exception(unsigned int exc_no, istate_t *istate)
     94static void swi_exception(int exc_no, istate_t *istate)
    8995{
    9096        istate->r0 = syscall_handler(istate->r0, istate->r1, istate->r2,
     
    142148 * Determines the sources of interrupt and calls their handlers.
    143149 */
    144 static void irq_exception(unsigned int exc_no, istate_t *istate)
     150static void irq_exception(int exc_no, istate_t *istate)
    145151{
    146152        machine_irq_exception(exc_no, istate);
     
    159165        install_exception_handlers();
    160166       
    161         exc_register(EXC_IRQ, "interrupt", true,
    162             (iroutine_t) irq_exception);
    163         exc_register(EXC_PREFETCH_ABORT, "prefetch abort", true,
    164             (iroutine_t) prefetch_abort);
    165         exc_register(EXC_DATA_ABORT, "data abort", true,
    166             (iroutine_t) data_abort);
    167         exc_register(EXC_SWI, "software interrupt", true,
    168             (iroutine_t) swi_exception);
     167        exc_register(EXC_IRQ, "interrupt", (iroutine) irq_exception);
     168        exc_register(EXC_PREFETCH_ABORT, "prefetch abort",
     169            (iroutine) prefetch_abort);
     170        exc_register(EXC_DATA_ABORT, "data abort", (iroutine) data_abort);
     171        exc_register(EXC_SWI, "software interrupt", (iroutine) swi_exception);
    169172}
    170173
     
    173176 * @param istate Structure to be printed.
    174177 */
    175 void istate_decode(istate_t *istate)
     178void print_istate(istate_t *istate)
    176179{
    177         printf("r0 =%#0.8lx\tr1 =%#0.8lx\tr2 =%#0.8lx\tr3 =%#0.8lx\n",
     180        printf("istate dump:\n");
     181       
     182        printf(" r0: %x    r1: %x    r2: %x    r3: %x\n",
    178183            istate->r0, istate->r1, istate->r2, istate->r3);
    179         printf("r4 =%#0.8lx\tr5 =%#0.8lx\tr6 =%#0.8lx\tr7 =%#0.8lx\n",
     184        printf(" r4: %x    r5: %x    r6: %x    r7: %x\n",
    180185            istate->r4, istate->r5, istate->r6, istate->r7);
    181         printf("r8 =%#0.8lx\tr9 =%#0.8lx\tr10=%#0.8lx\tfp =%#0.8lx\n",
     186        printf(" r8: %x    r8: %x   r10: %x    fp: %x\n",
    182187            istate->r8, istate->r9, istate->r10, istate->fp);
    183         printf("r12=%#0.8lx\tsp =%#0.8lx\tlr =%#0.8lx\tspsr=%#0.8lx\n",
     188        printf(" r12: %x    sp: %x    lr: %x  spsr: %x\n",
    184189            istate->r12, istate->sp, istate->lr, istate->spsr);
     190       
     191        printf(" pc: %x\n", istate->pc);
     192
     193        stack_trace_istate(istate);
    185194}
    186195
Note: See TracChangeset for help on using the changeset viewer.