Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/interrupt.h

    ra074b4f r12bf33a  
    4242#include <arch.h>
    4343#include <ddi/irq.h>
    44 #include <stacktrace.h>
    4544
    4645typedef void (* iroutine)(int n, istate_t *istate);
    4746
    48 extern void fault_if_from_uspace(istate_t *istate, char *fmt, ...);
     47#define fault_if_from_uspace(istate, fmt, ...) \
     48{ \
     49        if (istate_from_uspace(istate)) { \
     50                task_t *task = TASK; \
     51                printf("Task %s (%" PRIu64 ") killed due to an exception at %p: ", task->name, task->taskid, istate_get_pc(istate)); \
     52                printf(fmt "\n", ##__VA_ARGS__); \
     53                task_kill(task->taskid); \
     54                thread_exit(); \
     55        } \
     56}
     57
    4958extern iroutine exc_register(int n, const char *name, iroutine f);
    5059extern void exc_dispatch(int n, istate_t *t);
Note: See TracChangeset for help on using the changeset viewer.