Subversion Repositories HelenOS-historic

Rev

Rev 1096 | Rev 1119 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1096 Rev 1100
Line 38... Line 38...
38
#include <print.h>
38
#include <print.h>
39
#include <interrupt.h>
39
#include <interrupt.h>
40
#include <func.h>
40
#include <func.h>
41
#include <console/kconsole.h>
41
#include <console/kconsole.h>
42
#include <arch/debugger.h>
42
#include <arch/debugger.h>
43
#include <syscall/syscall.h>
-
 
44
 
43
 
45
static char * exctable[] = {
44
static char * exctable[] = {
46
    "Interrupt","TLB Modified","TLB Invalid","TLB Invalid Store",
45
    "Interrupt","TLB Modified","TLB Invalid","TLB Invalid Store",
47
        "Address Error - load/instr. fetch",
46
        "Address Error - load/instr. fetch",
48
        "Address Error - store",
47
        "Address Error - store",
Line 127... Line 126...
127
    for (i = 0; i < 8; i++)
126
    for (i = 0; i < 8; i++)
128
        if (cause & (1 << i))
127
        if (cause & (1 << i))
129
            exc_dispatch(i+INT_OFFSET, istate);
128
            exc_dispatch(i+INT_OFFSET, istate);
130
}
129
}
131
 
130
 
132
__native syscall_handler(__native a0, __native a1, __native a2,
-
 
133
             __native a3, __native sysnum)
-
 
134
{
-
 
135
    if (sysnum < SYSCALL_END)
-
 
136
        return syscall_table[sysnum](a0,a1,a2,a3);
-
 
137
    panic("Undefined syscall %d", sysnum);
-
 
138
}
-
 
139
 
-
 
140
/** Handle syscall userspace call */
131
/** Handle syscall userspace call */
141
static void syscall_exception(int n, istate_t *istate)
132
static void syscall_exception(int n, istate_t *istate)
142
{
133
{
143
    panic("Syscall is handled through shortcut");
134
    panic("Syscall is handled through shortcut");
144
}
135
}