Changeset a35b458 in mainline for kernel/generic/src/syscall/syscall.c
- Timestamp:
- 2018-03-02T20:10:49Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f1380b7
- Parents:
- 3061bc1
- git-author:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-02-28 17:38:31)
- git-committer:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-03-02 20:10:49)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/syscall/syscall.c
r3061bc1 ra35b458 66 66 thread_update_accounting(true); 67 67 irq_spinlock_unlock(&THREAD->lock, true); 68 68 69 69 #ifdef CONFIG_UDEBUG 70 70 /* … … 82 82 udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, 0, false); 83 83 #endif 84 84 85 85 sysarg_t rc; 86 86 if (id < SYSCALL_END) { … … 91 91 task_kill_self(true); 92 92 } 93 93 94 94 if (THREAD->interrupted) 95 95 thread_exit(); 96 96 97 97 #ifdef CONFIG_UDEBUG 98 98 if (THREAD->udebug.active) { 99 99 udebug_syscall_event(a1, a2, a3, a4, a5, a6, id, rc, true); 100 100 101 101 /* 102 102 * Stopping point needed for tasks that only invoke … … 111 111 THREAD->udebug.uspace_state = NULL; 112 112 #endif 113 113 114 114 /* Do kernel accounting */ 115 115 irq_spinlock_lock(&THREAD->lock, true); 116 116 thread_update_accounting(false); 117 117 irq_spinlock_unlock(&THREAD->lock, true); 118 118 119 119 return rc; 120 120 } … … 123 123 /* System management syscalls. */ 124 124 [SYS_KIO] = (syshandler_t) sys_kio, 125 125 126 126 /* Thread and task related syscalls. */ 127 127 [SYS_THREAD_CREATE] = (syshandler_t) sys_thread_create, … … 130 130 [SYS_THREAD_USLEEP] = (syshandler_t) sys_thread_usleep, 131 131 [SYS_THREAD_UDELAY] = (syshandler_t) sys_thread_udelay, 132 132 133 133 [SYS_TASK_GET_ID] = (syshandler_t) sys_task_get_id, 134 134 [SYS_TASK_SET_NAME] = (syshandler_t) sys_task_set_name, … … 136 136 [SYS_TASK_EXIT] = (syshandler_t) sys_task_exit, 137 137 [SYS_PROGRAM_SPAWN_LOADER] = (syshandler_t) sys_program_spawn_loader, 138 138 139 139 /* Synchronization related syscalls. */ 140 140 [SYS_FUTEX_SLEEP] = (syshandler_t) sys_futex_sleep, … … 142 142 [SYS_SMC_COHERENCE] = (syshandler_t) sys_smc_coherence, 143 143 [SYS_SMP_MEMORY_BARRIER] = (syshandler_t) sys_smp_memory_barrier, 144 144 145 145 /* Address space related syscalls. */ 146 146 [SYS_AS_AREA_CREATE] = (syshandler_t) sys_as_area_create, … … 148 148 [SYS_AS_AREA_CHANGE_FLAGS] = (syshandler_t) sys_as_area_change_flags, 149 149 [SYS_AS_AREA_DESTROY] = (syshandler_t) sys_as_area_destroy, 150 150 151 151 /* Page mapping related syscalls. */ 152 152 [SYS_PAGE_FIND_MAPPING] = (syshandler_t) sys_page_find_mapping, 153 153 154 154 /* IPC related syscalls. */ 155 155 [SYS_IPC_CALL_ASYNC_FAST] = (syshandler_t) sys_ipc_call_async_fast, … … 163 163 [SYS_IPC_HANGUP] = (syshandler_t) sys_ipc_hangup, 164 164 [SYS_IPC_CONNECT_KBOX] = (syshandler_t) sys_ipc_connect_kbox, 165 165 166 166 /* Event notification syscalls. */ 167 167 [SYS_IPC_EVENT_SUBSCRIBE] = (syshandler_t) sys_ipc_event_subscribe, 168 168 [SYS_IPC_EVENT_UNSUBSCRIBE] = (syshandler_t) sys_ipc_event_unsubscribe, 169 169 [SYS_IPC_EVENT_UNMASK] = (syshandler_t) sys_ipc_event_unmask, 170 170 171 171 /* Permission related syscalls. */ 172 172 [SYS_PERM_GRANT] = (syshandler_t) sys_perm_grant, 173 173 [SYS_PERM_REVOKE] = (syshandler_t) sys_perm_revoke, 174 174 175 175 /* DDI related syscalls. */ 176 176 [SYS_PHYSMEM_MAP] = (syshandler_t) sys_physmem_map, … … 180 180 [SYS_IOSPACE_ENABLE] = (syshandler_t) sys_iospace_enable, 181 181 [SYS_IOSPACE_DISABLE] = (syshandler_t) sys_iospace_disable, 182 182 183 183 [SYS_IPC_IRQ_SUBSCRIBE] = (syshandler_t) sys_ipc_irq_subscribe, 184 184 [SYS_IPC_IRQ_UNSUBSCRIBE] = (syshandler_t) sys_ipc_irq_unsubscribe, 185 185 186 186 /* Sysinfo syscalls. */ 187 187 [SYS_SYSINFO_GET_KEYS_SIZE] = (syshandler_t) sys_sysinfo_get_keys_size, … … 191 191 [SYS_SYSINFO_GET_DATA_SIZE] = (syshandler_t) sys_sysinfo_get_data_size, 192 192 [SYS_SYSINFO_GET_DATA] = (syshandler_t) sys_sysinfo_get_data, 193 193 194 194 /* Kernel console syscalls. */ 195 195 [SYS_DEBUG_CONSOLE] = (syshandler_t) sys_debug_console, 196 196 197 197 [SYS_KLOG] = (syshandler_t) sys_klog, 198 198 };
Note:
See TracChangeset
for help on using the changeset viewer.