traps.c (48a7afe314bfc4d7f50e1608632f503dbba7e013) traps.c (1eeb66a1bb973534dc3d064920a5ca683823372e)
1/*
2 * arch/s390/kernel/traps.c
3 *
4 * S390 version
5 * Copyright (C) 1999,2000 IBM Deutschland Entwicklung GmbH, IBM Corporation
6 * Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com),
7 * Denis Joseph Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com),
8 *

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

22#include <linux/timer.h>
23#include <linux/mm.h>
24#include <linux/smp.h>
25#include <linux/smp_lock.h>
26#include <linux/init.h>
27#include <linux/interrupt.h>
28#include <linux/delay.h>
29#include <linux/module.h>
1/*
2 * arch/s390/kernel/traps.c
3 *
4 * S390 version
5 * Copyright (C) 1999,2000 IBM Deutschland Entwicklung GmbH, IBM Corporation
6 * Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com),
7 * Denis Joseph Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com),
8 *

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

22#include <linux/timer.h>
23#include <linux/mm.h>
24#include <linux/smp.h>
25#include <linux/smp_lock.h>
26#include <linux/init.h>
27#include <linux/interrupt.h>
28#include <linux/delay.h>
29#include <linux/module.h>
30#include <linux/kdebug.h>
30#include <linux/kallsyms.h>
31#include <linux/reboot.h>
32#include <linux/kprobes.h>
33#include <linux/bug.h>
34#include <asm/system.h>
35#include <asm/uaccess.h>
36#include <asm/io.h>
37#include <asm/atomic.h>
38#include <asm/mathemu.h>
39#include <asm/cpcmd.h>
40#include <asm/s390_ext.h>
41#include <asm/lowcore.h>
42#include <asm/debug.h>
31#include <linux/kallsyms.h>
32#include <linux/reboot.h>
33#include <linux/kprobes.h>
34#include <linux/bug.h>
35#include <asm/system.h>
36#include <asm/uaccess.h>
37#include <asm/io.h>
38#include <asm/atomic.h>
39#include <asm/mathemu.h>
40#include <asm/cpcmd.h>
41#include <asm/s390_ext.h>
42#include <asm/lowcore.h>
43#include <asm/debug.h>
43#include <asm/kdebug.h>
44
45/* Called from entry.S only */
46extern void handle_per_exception(struct pt_regs *regs);
47
48typedef void pgm_check_handler_t(struct pt_regs *, long);
49pgm_check_handler_t *pgm_check_table[128];
50
51#ifdef CONFIG_SYSCTL

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

65#ifndef CONFIG_64BIT
66#define FOURLONG "%08lx %08lx %08lx %08lx\n"
67static int kstack_depth_to_print = 12;
68#else /* CONFIG_64BIT */
69#define FOURLONG "%016lx %016lx %016lx %016lx\n"
70static int kstack_depth_to_print = 20;
71#endif /* CONFIG_64BIT */
72
44
45/* Called from entry.S only */
46extern void handle_per_exception(struct pt_regs *regs);
47
48typedef void pgm_check_handler_t(struct pt_regs *, long);
49pgm_check_handler_t *pgm_check_table[128];
50
51#ifdef CONFIG_SYSCTL

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

65#ifndef CONFIG_64BIT
66#define FOURLONG "%08lx %08lx %08lx %08lx\n"
67static int kstack_depth_to_print = 12;
68#else /* CONFIG_64BIT */
69#define FOURLONG "%016lx %016lx %016lx %016lx\n"
70static int kstack_depth_to_print = 20;
71#endif /* CONFIG_64BIT */
72
73ATOMIC_NOTIFIER_HEAD(s390die_chain);
74
75int register_die_notifier(struct notifier_block *nb)
76{
77 return atomic_notifier_chain_register(&s390die_chain, nb);
78}
79EXPORT_SYMBOL(register_die_notifier);
80
81int unregister_die_notifier(struct notifier_block *nb)
82{
83 return atomic_notifier_chain_unregister(&s390die_chain, nb);
84}
85EXPORT_SYMBOL(unregister_die_notifier);
86
87/*
88 * For show_trace we have tree different stack to consider:
89 * - the panic stack which is used if the kernel stack has overflown
90 * - the asynchronous interrupt stack (cpu related)
91 * - the synchronous kernel stack (process related)
92 * The stack trace can start at any of the three stack and can potentially
93 * touch all of them. The order is: panic stack, async stack, sync stack.
94 */

--- 642 unchanged lines hidden ---
73/*
74 * For show_trace we have tree different stack to consider:
75 * - the panic stack which is used if the kernel stack has overflown
76 * - the asynchronous interrupt stack (cpu related)
77 * - the synchronous kernel stack (process related)
78 * The stack trace can start at any of the three stack and can potentially
79 * touch all of them. The order is: panic stack, async stack, sync stack.
80 */

--- 642 unchanged lines hidden ---