Lines Matching +full:user +full:- +full:level
7 * Copyright (C) 1994 - 1999 by Ralf Baechle
14 * Copyright (C) 2001 - 2013 Tensilica Inc.
78 #define USER 0x02 macro
81 { EXCCAUSE_COPROCESSOR ## x ## _DISABLED, USER, fast_coprocessor }
92 { EXCCAUSE_ILLEGAL_INSTRUCTION, USER, fast_illegal_instruction_user },
95 { EXCCAUSE_SYSTEM_CALL, USER, fast_syscall_user },
100 { EXCCAUSE_ALLOCA, USER|KRNL, fast_alloca },
105 { EXCCAUSE_UNALIGNED, USER, fast_unaligned },
112 { EXCCAUSE_ITLB_MISS, USER|KRNL, fast_second_level_miss},
117 { EXCCAUSE_DTLB_MISS, USER|KRNL, fast_second_level_miss},
122 { EXCCAUSE_STORE_CACHE_ATTRIBUTE, USER|KRNL, fast_store_prohibited },
155 { -1, -1, 0 }
160 * 1. it contains three dispatch tables (fast_user, fast_kernel, default-c)
177 * Unhandled Exceptions. Kill user task or panic if in kernel space.
182 __die_if_kernel("Caught unhandled exception - should not happen", in do_unhandled()
185 /* If in user mode, send SIGILL signal to current process */ in do_unhandled()
187 "(pid = %d, pc = %#010lx) - should not happen\n" in do_unhandled()
189 current->comm, task_pid_nr(current), regs->pc, in do_unhandled()
195 * Multi-hit exception. This if fatal!
211 #define IS_POW2(v) (((v) & ((v) - 1)) == 0)
215 #warning "Fake NMI is requested for PMM, but there are other IRQs at or above its level."
245 if ((regs->ps & PS_INTLEVEL_MASK) < LOCKLEVEL) in do_nmi()
281 unsigned level; in do_interrupt() local
283 for (level = LOCKLEVEL; level > 0; --level) { in do_interrupt()
284 if (int_at_level & int_level_mask[level]) { in do_interrupt()
285 int_at_level &= int_level_mask[level]; in do_interrupt()
290 if (level == 0) in do_interrupt()
309 /* If in user mode, send SIGILL signal to current process. */ in do_illegal_instruction()
312 current->comm, task_pid_nr(current), regs->pc); in do_illegal_instruction()
318 * Handle unaligned memory accesses from user space. Kill task.
321 * accesses causes from user space.
331 current->thread.bad_vaddr = regs->excvaddr; in do_unaligned_user()
332 current->thread.error_code = -3; in do_unaligned_user()
335 regs->excvaddr, current->comm, in do_unaligned_user()
336 task_pid_nr(current), regs->pc); in do_unaligned_user()
337 force_sig_fault(SIGBUS, BUS_ADRALN, (void *) regs->excvaddr); in do_unaligned_user()
359 /* If in user mode, send SIGTRAP signal to current process */ in do_debug()
373 /* Set exception C handler - for temporary use when probing exceptions */
394 this_cpu_ptr(&debug_table)->debug_exception = debug_exception; in trap_init_debug()
405 * - fast user first dispatch table for user exceptions
406 * - fast kernel first dispatch table for kernel exceptions
407 * - default C-handler C-handler called by the default fast handler.
433 if ((fast & USER) != 0) in trap_init()
462 wmask = regs->wmask & ~1; in show_regs()
467 pr_cont(" %08lx", regs->areg[i]); in show_regs()
471 regs->pc, regs->ps, regs->depc, regs->excvaddr); in show_regs()
473 regs->lbeg, regs->lend, regs->lcount, regs->sar); in show_regs()
476 regs->windowbase, regs->windowstart, regs->wmask, in show_regs()
477 regs->syscall); in show_regs()
484 if (kernel_text_address(frame->pc)) in show_trace_cb()
486 loglvl, frame->pc, (void *)frame->pc); in show_trace_cb()
511 len = min((-(size_t)sp) & (THREAD_SIZE - STACK_DUMP_ENTRY_SIZE), in show_stack()
537 show_stack(NULL, (unsigned long *)regs->areg[1], KERN_INFO); in die()