Changes in kernel/generic/src/syscall/syscall.c [5bcf1f9:2fa10f6] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/syscall/syscall.c
r5bcf1f9 r2fa10f6 45 45 #include <debug.h> 46 46 #include <ddi/device.h> 47 #include <interrupt.h>48 47 #include <ipc/sysipc.h> 49 48 #include <synch/futex.h> … … 57 56 58 57 /** Dispatch system call */ 59 sysarg_t syscall_handler(sysarg_t a1, sysarg_t a2, sysarg_t a3,60 sysarg_t a4, sysarg_t a5, sysarg_t a6, sysarg_t id)58 unative_t syscall_handler(unative_t a1, unative_t a2, unative_t a3, 59 unative_t a4, unative_t a5, unative_t a6, unative_t id) 61 60 { 62 61 /* Do userpace accounting */ … … 67 66 #ifdef CONFIG_UDEBUG 68 67 /* 69 * An istate_t-compatible record was created on the stack by the70 * low-level syscall handler. This is the userspace space state71 * structure.72 */73 THREAD->udebug.uspace_state = istate_get(THREAD);74 75 /*76 68 * Early check for undebugged tasks. We do not lock anything as this 77 69 * test need not be precise in either direction. 70 * 78 71 */ 79 72 if (THREAD->udebug.active) … … 81 74 #endif 82 75 83 sysarg_t rc;76 unative_t rc; 84 77 if (id < SYSCALL_END) { 85 78 rc = syscall_table[id](a1, a2, a3, a4, a5, a6); 86 79 } else { 87 80 printf("Task %" PRIu64": Unknown syscall %#" PRIxn, TASK->taskid, id); 88 task_kill_self(true); 81 task_kill(TASK->taskid); 82 thread_exit(); 89 83 } 90 84 … … 104 98 udebug_stoppable_end(); 105 99 } 106 107 /* Clear userspace state pointer */108 THREAD->udebug.uspace_state = NULL;109 100 #endif 110 101 … … 129 120 (syshandler_t) sys_task_get_id, 130 121 (syshandler_t) sys_task_set_name, 131 (syshandler_t) sys_task_kill,132 (syshandler_t) sys_task_exit,133 122 (syshandler_t) sys_program_spawn_loader, 134 123 … … 156 145 (syshandler_t) sys_ipc_poke, 157 146 (syshandler_t) sys_ipc_hangup, 158 (syshandler_t) sys_ipc_connect_kbox, 147 (syshandler_t) sys_ipc_register_irq, 148 (syshandler_t) sys_ipc_unregister_irq, 159 149 160 150 /* Event notification syscalls. */ … … 169 159 (syshandler_t) sys_physmem_map, 170 160 (syshandler_t) sys_iospace_enable, 171 (syshandler_t) sys_register_irq,172 (syshandler_t) sys_unregister_irq,173 161 174 162 /* Sysinfo syscalls */ … … 180 168 /* Debug calls */ 181 169 (syshandler_t) sys_debug_enable_console, 182 (syshandler_t) sys_debug_disable_console 170 (syshandler_t) sys_debug_disable_console, 171 172 (syshandler_t) sys_ipc_connect_kbox 183 173 }; 184 174
Note:
See TracChangeset
for help on using the changeset viewer.