55,7 → 55,8 |
#include <arch/exception.h> |
|
#include <syscall/syscall.h> |
static void tmp_swi_exception(int exc_no, istate_t* istate) |
void tmp_swi_exception(int exc_no, istate_t* istate); |
void tmp_swi_exception(int exc_no, istate_t* istate) |
{ |
ASSERT(exc_no == EXC_SWI); |
ASSERT(istate); |
65,7 → 66,7 |
dprintf(" r4:%X r5:%X r6:%X r7:%X\n", istate->r4, istate->r5, istate->r6, istate->r7); |
dprintf(" r8:%X r8:%X r10:%X r11:%X\n", istate->r8, istate->r9, istate->r10, istate->r11); |
dprintf(" r12:%X r13:%X lr:%X spsr:%X\n", istate->r12, istate->sp, istate->lr, istate->spsr); |
dprintf(" prev_lr:%X prev_sp:%X\n", istate->r12, istate->prev_lr, istate->prev_sp); |
// dprintf(" prev_lr:%X prev_sp:%X\n", istate->r12, istate->prev_lr, istate->prev_sp); |
// call kernel to serve syscall |
istate->r0 = syscall_handler( |
istate->r0, |
80,7 → 81,7 |
dprintf(" r4:%X r5:%X r6:%X r7:%X\n", istate->r4, istate->r5, istate->r6, istate->r7); |
dprintf(" r8:%X r8:%X r10:%X r11:%X\n", istate->r8, istate->r9, istate->r10, istate->r11); |
dprintf(" r12:%X r13:%X lr:%X spsr:%X\n", istate->r12, istate->sp, istate->lr, istate->spsr); |
dprintf(" prev_lr:%X prev_sp:%X\n", istate->r12, istate->prev_lr, istate->prev_sp); |
// dprintf(" prev_lr:%X prev_sp:%X\n", istate->r12, istate->prev_lr, istate->prev_sp); |
} |
|
|
240,10 → 241,9 |
: "r"(&ustate), "r"(cpsr), "r"(tmpsr) // |
: "r0","r1" |
); |
|
*/ |
while(1) |
; |
*/ |
|
} |
/** @} |