Lines Matching +full:addr +full:- +full:mode
4 * Copyright (C) 2008-2009 Michal Simek <monstr@monstr.eu>
13 * This file handles the architecture-dependent parts of hardware exceptions
56 _exception(SIGTRAP, regs, TRAP_BRKPT, regs->r16); in sw_exception()
57 flush_dcache_range(regs->r16, regs->r16 + 0x4); in sw_exception()
58 flush_icache_range(regs->r16, regs->r16 + 0x4); in sw_exception()
61 void _exception(int signr, struct pt_regs *regs, int code, unsigned long addr) in _exception() argument
64 die("Exception in kernel mode", regs, signr); in _exception()
66 force_sig_fault(signr, code, (void __user *)addr); in _exception()
70 int fsr, int addr) in full_exception() argument
72 addr = regs->pc; in full_exception()
75 pr_warn("Exception %02x in %s mode, FSR=%08x PC=%08x ESR=%08x\n", in full_exception()
77 (unsigned int) regs->pc, (unsigned int) regs->esr); in full_exception()
83 pr_debug("Illegal opcode exception in user mode\n"); in full_exception()
84 _exception(SIGILL, regs, ILL_ILLOPC, addr); in full_exception()
87 pr_warn("Illegal opcode exception in kernel mode.\n"); in full_exception()
92 pr_debug("Instruction bus error exception in user mode\n"); in full_exception()
93 _exception(SIGBUS, regs, BUS_ADRERR, addr); in full_exception()
96 pr_warn("Instruction bus error exception in kernel mode.\n"); in full_exception()
101 pr_debug("Data bus error exception in user mode\n"); in full_exception()
102 _exception(SIGBUS, regs, BUS_ADRERR, addr); in full_exception()
105 pr_warn("Data bus error exception in kernel mode.\n"); in full_exception()
110 pr_debug("Divide by zero exception in user mode\n"); in full_exception()
111 _exception(SIGFPE, regs, FPE_INTDIV, addr); in full_exception()
114 pr_warn("Divide by zero exception in kernel mode.\n"); in full_exception()
131 _exception(SIGFPE, regs, fsr, addr); in full_exception()
135 _exception(SIGILL, regs, ILL_PRVOPC, addr); in full_exception()
139 pr_warn("Unexpected exception %02x PC=%08x in %s mode\n", in full_exception()
140 type, (unsigned int) addr, in full_exception()