traps.c (eacbfce19d8b6dbd7958cbe01d65a21324cc2fad) | traps.c (8858ac8e9e9b1894f7bb218bc0035532371b8d7e) |
---|---|
1// SPDX-License-Identifier: GPL-2.0 2/* 3 * linux/arch/parisc/traps.c 4 * 5 * Copyright (C) 1991, 1992 Linus Torvalds 6 * Copyright (C) 1999, 2000 Philipp Rumpf <prumpf@tux.org> 7 */ 8 --- 29 unchanged lines hidden (view full) --- 38#include <linux/atomic.h> 39#include <asm/smp.h> 40#include <asm/pdc.h> 41#include <asm/pdc_chassis.h> 42#include <asm/unwind.h> 43#include <asm/tlbflush.h> 44#include <asm/cacheflush.h> 45#include <linux/kgdb.h> | 1// SPDX-License-Identifier: GPL-2.0 2/* 3 * linux/arch/parisc/traps.c 4 * 5 * Copyright (C) 1991, 1992 Linus Torvalds 6 * Copyright (C) 1999, 2000 Philipp Rumpf <prumpf@tux.org> 7 */ 8 --- 29 unchanged lines hidden (view full) --- 38#include <linux/atomic.h> 39#include <asm/smp.h> 40#include <asm/pdc.h> 41#include <asm/pdc_chassis.h> 42#include <asm/unwind.h> 43#include <asm/tlbflush.h> 44#include <asm/cacheflush.h> 45#include <linux/kgdb.h> |
46#include <linux/kprobes.h> |
|
46 47#include "../math-emu/math-emu.h" /* for handle_fpe() */ 48 49static void parisc_show_stack(struct task_struct *task, 50 struct pt_regs *regs); 51 52static int printbinary(char *buf, unsigned long x, int nbits) 53{ --- 235 unchanged lines hidden (view full) --- 289 regs->iaoq[0] += 4; 290 regs->iaoq[1] += 4; 291 return; /* return to next instruction when WARN_ON(). */ 292 } 293 die_if_kernel("Unknown kernel breakpoint", regs, 294 (tt == BUG_TRAP_TYPE_NONE) ? 9 : 0); 295 } 296 | 47 48#include "../math-emu/math-emu.h" /* for handle_fpe() */ 49 50static void parisc_show_stack(struct task_struct *task, 51 struct pt_regs *regs); 52 53static int printbinary(char *buf, unsigned long x, int nbits) 54{ --- 235 unchanged lines hidden (view full) --- 290 regs->iaoq[0] += 4; 291 regs->iaoq[1] += 4; 292 return; /* return to next instruction when WARN_ON(). */ 293 } 294 die_if_kernel("Unknown kernel breakpoint", regs, 295 (tt == BUG_TRAP_TYPE_NONE) ? 9 : 0); 296 } 297 |
298#ifdef CONFIG_KPROBES 299 if (unlikely(iir == PARISC_KPROBES_BREAK_INSN)) { 300 parisc_kprobe_break_handler(regs); 301 return; 302 } 303 304#endif 305 |
|
297#ifdef CONFIG_KGDB 298 if (unlikely(iir == PARISC_KGDB_COMPILED_BREAK_INSN || 299 iir == PARISC_KGDB_BREAK_INSN)) { 300 kgdb_handle_exception(9, SIGTRAP, 0, regs); 301 return; 302 } 303#endif 304 --- 218 unchanged lines hidden (view full) --- 523 /* Power failure interrupt */ 524 printk(KERN_CRIT "Power failure interrupt !\n"); 525 return; 526 527 case 3: 528 /* Recovery counter trap */ 529 regs->gr[0] &= ~PSW_R; 530 | 306#ifdef CONFIG_KGDB 307 if (unlikely(iir == PARISC_KGDB_COMPILED_BREAK_INSN || 308 iir == PARISC_KGDB_BREAK_INSN)) { 309 kgdb_handle_exception(9, SIGTRAP, 0, regs); 310 return; 311 } 312#endif 313 --- 218 unchanged lines hidden (view full) --- 532 /* Power failure interrupt */ 533 printk(KERN_CRIT "Power failure interrupt !\n"); 534 return; 535 536 case 3: 537 /* Recovery counter trap */ 538 regs->gr[0] &= ~PSW_R; 539 |
540#ifdef CONFIG_KPROBES 541 if (parisc_kprobe_ss_handler(regs)) 542 return; 543#endif 544 |
|
531#ifdef CONFIG_KGDB 532 if (kgdb_single_step) { 533 kgdb_handle_exception(0, SIGTRAP, 0, regs); 534 return; 535 } 536#endif 537 538 if (user_space(regs)) --- 317 unchanged lines hidden --- | 545#ifdef CONFIG_KGDB 546 if (kgdb_single_step) { 547 kgdb_handle_exception(0, SIGTRAP, 0, regs); 548 return; 549 } 550#endif 551 552 if (user_space(regs)) --- 317 unchanged lines hidden --- |