Changeset 8f4f444 in mainline
- Timestamp:
- 2012-07-26T21:38:14Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 4fc93d5
- Parents:
- f66c203d
- Location:
- kernel/generic
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/interrupt.h
rf66c203d r8f4f444 38 38 #include <arch/interrupt.h> 39 39 #include <print.h> 40 #include <stdarg.h> 40 41 #include <typedefs.h> 41 42 #include <proc/task.h> … … 58 59 extern exc_table_t exc_table[]; 59 60 61 extern void fault_from_uspace(istate_t *, const char *, ...); 60 62 extern void fault_if_from_uspace(istate_t *, const char *, ...) 61 63 PRINTF_ATTRIBUTE(2, 3); -
kernel/generic/src/interrupt/interrupt.c
rf66c203d r8f4f444 50 50 #include <panic.h> 51 51 #include <print.h> 52 #include <stdarg.h> 52 53 #include <symtab.h> 53 54 #include <proc/thread.h> … … 165 166 } 166 167 167 /** Terminate thread and task if exception came from userspace. 168 * 169 */ 170 NO_TRACE void fault_if_from_uspace(istate_t *istate, const char *fmt, ...) 171 { 172 if (!istate_from_uspace(istate)) 173 return; 174 168 static NO_TRACE void fault_from_uspace_core(istate_t *istate, const char *fmt, va_list args) 169 { 175 170 printf("Task %s (%" PRIu64 ") killed due to an exception at " 176 171 "program counter %p.\n", TASK->name, TASK->taskid, … … 181 176 182 177 printf("Kill message: "); 178 vprintf(fmt, args); 179 printf("\n"); 180 181 task_kill_self(true); 182 } 183 184 /** Terminate thread and task after the exception came from userspace. 185 * 186 */ 187 NO_TRACE void fault_from_uspace(istate_t *istate, const char *fmt, ...) 188 { 189 va_list args; 190 191 va_start(args, fmt); 192 fault_from_uspace_core(istate, fmt, args); 193 va_end(args); 194 } 195 196 /** Terminate thread and task if exception came from userspace. 197 * 198 */ 199 NO_TRACE void fault_if_from_uspace(istate_t *istate, const char *fmt, ...) 200 { 201 if (!istate_from_uspace(istate)) 202 return; 183 203 184 204 va_list args; 185 205 va_start(args, fmt); 186 vprintf(fmt, args);206 fault_from_uspace_core(istate, fmt, args); 187 207 va_end(args); 188 printf("\n");189 190 task_kill_self(true);191 208 } 192 209
Note:
See TracChangeset
for help on using the changeset viewer.