17 #ifdef F_GetSyscallHandler
18 static u32* g_pSyscallTable =
NULL;
21 static void InitSyscallTable(
void)
28 pAddr = (
u32 *) 0x800002f0;
29 g_pSyscallTable = (
u32 *) ((pAddr[0] << 16) | (pAddr[2] & 0xFFFF));
31 if(oldintr) {
EIntr(); }
43 if(g_pSyscallTable ==
NULL)
48 if(g_pSyscallTable !=
NULL)
52 addr = g_pSyscallTable[syscall_no];
54 if(oldintr) {
EIntr(); }
69 #ifdef F_GetExceptionHandler
83 if((ex_cause_no < 1) || (ex_cause_no > 15))
96 lo16 = ((
vu32 *) addr)[0x20 / 4];
97 hi16 = ((
vu32 *) addr)[0x14 / 4];
98 table_addr = ((
u32) (hi16 << 16) | lo16);
100 addr = ((
u32 *) table_addr)[ex_cause_no];
104 if(oldintr) {
EIntr(); }
106 return((
void *) addr);
110 #ifdef F_GetInterruptHandler
125 if((intr_cause_no < 0) || (intr_cause_no > 7))
138 hi16 = ((
vu32 *) addr)[0x10 / 4];
139 lo16 = ((
vu32 *) addr)[0x1C / 4];
141 addr = ((
u32 *) ((
u32) (hi16 << 16) | lo16))[intr_cause_no];
145 if(oldintr) {
EIntr(); }
147 return (
void *) addr;
static int ee_set_opmode(u32 opmode)
void * GetSyscallHandler(int syscall_no)
void * GetInterruptHandler(int intr_no)
void * GetExceptionHandler(int except_no)