exceptions.c (cdd38c5f1ce4398ec58fec95904b75824daab7b5) exceptions.c (0e25498f8cd43c1b5aa327f373dd094e9a006da7)
1/*
2 * HW exception handling
3 *
4 * Copyright (C) 2008-2009 Michal Simek <monstr@monstr.eu>
5 * Copyright (C) 2008 PetaLogix
6 *
7 * This file is subject to the terms and conditions of the GNU General
8 * Public License. See the file COPYING in the main directory of this

--- 30 unchanged lines hidden (view full) ---

39
40void die(const char *str, struct pt_regs *fp, long err)
41{
42 console_verbose();
43 spin_lock_irq(&die_lock);
44 pr_warn("Oops: %s, sig: %ld\n", str, err);
45 show_regs(fp);
46 spin_unlock_irq(&die_lock);
1/*
2 * HW exception handling
3 *
4 * Copyright (C) 2008-2009 Michal Simek <monstr@monstr.eu>
5 * Copyright (C) 2008 PetaLogix
6 *
7 * This file is subject to the terms and conditions of the GNU General
8 * Public License. See the file COPYING in the main directory of this

--- 30 unchanged lines hidden (view full) ---

39
40void die(const char *str, struct pt_regs *fp, long err)
41{
42 console_verbose();
43 spin_lock_irq(&die_lock);
44 pr_warn("Oops: %s, sig: %ld\n", str, err);
45 show_regs(fp);
46 spin_unlock_irq(&die_lock);
47 /* do_exit() should take care of panic'ing from an interrupt
47 /* make_task_dead() should take care of panic'ing from an interrupt
48 * context so we don't handle it here
49 */
48 * context so we don't handle it here
49 */
50 do_exit(err);
50 make_task_dead(err);
51}
52
53/* for user application debugging */
54asmlinkage void sw_exception(struct pt_regs *regs)
55{
56 _exception(SIGTRAP, regs, TRAP_BRKPT, regs->r16);
57 flush_dcache_range(regs->r16, regs->r16 + 0x4);
58 flush_icache_range(regs->r16, regs->r16 + 0x4);

--- 86 unchanged lines hidden ---
51}
52
53/* for user application debugging */
54asmlinkage void sw_exception(struct pt_regs *regs)
55{
56 _exception(SIGTRAP, regs, TRAP_BRKPT, regs->r16);
57 flush_dcache_range(regs->r16, regs->r16 + 0x4);
58 flush_icache_range(regs->r16, regs->r16 + 0x4);

--- 86 unchanged lines hidden ---