diff options
| author | David S. Miller <davem@davemloft.net> | 2009-09-10 08:56:16 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2009-09-10 08:56:16 -0400 |
| commit | 2d0740c4562493b60f59ca9b0330a2d5e01d43ec (patch) | |
| tree | b971b0d0f2f9353561178b97ebe99045dca4e2a3 /arch/sparc/kernel/nmi.c | |
| parent | 76c36d016a3f958d6231dcdef54a132614c3b578 (diff) | |
sparc64: Use nmi_enter() and nmi_exit(), as needed.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc/kernel/nmi.c')
| -rw-r--r-- | arch/sparc/kernel/nmi.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/sparc/kernel/nmi.c b/arch/sparc/kernel/nmi.c index 47a465fe3c38..7de19dd30f40 100644 --- a/arch/sparc/kernel/nmi.c +++ b/arch/sparc/kernel/nmi.c | |||
| @@ -84,6 +84,7 @@ static void die_nmi(const char *str, struct pt_regs *regs, int do_panic) | |||
| 84 | if (do_panic || panic_on_oops) | 84 | if (do_panic || panic_on_oops) |
| 85 | panic("Non maskable interrupt"); | 85 | panic("Non maskable interrupt"); |
| 86 | 86 | ||
| 87 | nmi_exit(); | ||
| 87 | local_irq_enable(); | 88 | local_irq_enable(); |
| 88 | do_exit(SIGBUS); | 89 | do_exit(SIGBUS); |
| 89 | } | 90 | } |
| @@ -98,6 +99,8 @@ notrace __kprobes void perfctr_irq(int irq, struct pt_regs *regs) | |||
| 98 | 99 | ||
| 99 | local_cpu_data().__nmi_count++; | 100 | local_cpu_data().__nmi_count++; |
| 100 | 101 | ||
| 102 | nmi_enter(); | ||
| 103 | |||
| 101 | if (notify_die(DIE_NMI, "nmi", regs, 0, | 104 | if (notify_die(DIE_NMI, "nmi", regs, 0, |
| 102 | pt_regs_trap_type(regs), SIGINT) == NOTIFY_STOP) | 105 | pt_regs_trap_type(regs), SIGINT) == NOTIFY_STOP) |
| 103 | touched = 1; | 106 | touched = 1; |
| @@ -120,6 +123,8 @@ notrace __kprobes void perfctr_irq(int irq, struct pt_regs *regs) | |||
| 120 | write_pic(picl_value(nmi_hz)); | 123 | write_pic(picl_value(nmi_hz)); |
| 121 | pcr_ops->write(pcr_enable); | 124 | pcr_ops->write(pcr_enable); |
| 122 | } | 125 | } |
| 126 | |||
| 127 | nmi_exit(); | ||
| 123 | } | 128 | } |
| 124 | 129 | ||
| 125 | static inline unsigned int get_nmi_count(int cpu) | 130 | static inline unsigned int get_nmi_count(int cpu) |
