diff options
author | David S. Miller <davem@davemloft.net> | 2008-11-24 00:55:29 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-12-04 12:17:02 -0500 |
commit | b4f4372f96e0573d752d9e45beda02fabf716cc8 (patch) | |
tree | 641798dfe78c1407908c68b64427cd55cdc18b34 /arch/sparc64/kernel/traps.c | |
parent | c6afec5e4d323e7b88a7d6e291a5aa021a8fcb7d (diff) |
sparc64: Make %pil level 15 a pseudo-NMI.
So that we can profile code even in a local_irq_disable() section,
only write 14 (instead of 15) into the %pil register to disable IRQs.
This allows PIL level 15 to serve as a pseudo NMI.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/kernel/traps.c')
-rw-r--r-- | arch/sparc64/kernel/traps.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/sparc64/kernel/traps.c b/arch/sparc64/kernel/traps.c index 04994fc8700d..4638af2f55a0 100644 --- a/arch/sparc64/kernel/traps.c +++ b/arch/sparc64/kernel/traps.c | |||
@@ -1832,7 +1832,7 @@ static void sun4v_log_error(struct pt_regs *regs, struct sun4v_error_entry *ent, | |||
1832 | } | 1832 | } |
1833 | } | 1833 | } |
1834 | 1834 | ||
1835 | /* We run with %pil set to 15 and PSTATE_IE enabled in %pstate. | 1835 | /* We run with %pil set to PIL_NORMAL_MAX and PSTATE_IE enabled in %pstate. |
1836 | * Log the event and clear the first word of the entry. | 1836 | * Log the event and clear the first word of the entry. |
1837 | */ | 1837 | */ |
1838 | void sun4v_resum_error(struct pt_regs *regs, unsigned long offset) | 1838 | void sun4v_resum_error(struct pt_regs *regs, unsigned long offset) |
@@ -1880,7 +1880,7 @@ void sun4v_resum_overflow(struct pt_regs *regs) | |||
1880 | atomic_inc(&sun4v_resum_oflow_cnt); | 1880 | atomic_inc(&sun4v_resum_oflow_cnt); |
1881 | } | 1881 | } |
1882 | 1882 | ||
1883 | /* We run with %pil set to 15 and PSTATE_IE enabled in %pstate. | 1883 | /* We run with %pil set to PIL_NORMAL_MAX and PSTATE_IE enabled in %pstate. |
1884 | * Log the event, clear the first word of the entry, and die. | 1884 | * Log the event, clear the first word of the entry, and die. |
1885 | */ | 1885 | */ |
1886 | void sun4v_nonresum_error(struct pt_regs *regs, unsigned long offset) | 1886 | void sun4v_nonresum_error(struct pt_regs *regs, unsigned long offset) |