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/sun4v_ivec.S | |
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/sun4v_ivec.S')
-rw-r--r-- | arch/sparc64/kernel/sun4v_ivec.S | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/sparc64/kernel/sun4v_ivec.S b/arch/sparc64/kernel/sun4v_ivec.S index e2f8e1b4882a..559bc5e9c199 100644 --- a/arch/sparc64/kernel/sun4v_ivec.S +++ b/arch/sparc64/kernel/sun4v_ivec.S | |||
@@ -186,7 +186,7 @@ sun4v_res_mondo: | |||
186 | * when it's done. | 186 | * when it's done. |
187 | */ | 187 | */ |
188 | rdpr %pil, %g2 | 188 | rdpr %pil, %g2 |
189 | wrpr %g0, 15, %pil | 189 | wrpr %g0, PIL_NORMAL_MAX, %pil |
190 | mov %g1, %g4 | 190 | mov %g1, %g4 |
191 | ba,pt %xcc, etrap_irq | 191 | ba,pt %xcc, etrap_irq |
192 | rd %pc, %g7 | 192 | rd %pc, %g7 |
@@ -216,7 +216,7 @@ sun4v_res_mondo_queue_full: | |||
216 | membar #Sync | 216 | membar #Sync |
217 | 217 | ||
218 | rdpr %pil, %g2 | 218 | rdpr %pil, %g2 |
219 | wrpr %g0, 15, %pil | 219 | wrpr %g0, PIL_NORMAL_MAX, %pil |
220 | ba,pt %xcc, etrap_irq | 220 | ba,pt %xcc, etrap_irq |
221 | rd %pc, %g7 | 221 | rd %pc, %g7 |
222 | #ifdef CONFIG_TRACE_IRQFLAGS | 222 | #ifdef CONFIG_TRACE_IRQFLAGS |
@@ -297,7 +297,7 @@ sun4v_nonres_mondo: | |||
297 | * when it's done. | 297 | * when it's done. |
298 | */ | 298 | */ |
299 | rdpr %pil, %g2 | 299 | rdpr %pil, %g2 |
300 | wrpr %g0, 15, %pil | 300 | wrpr %g0, PIL_NORMAL_MAX, %pil |
301 | mov %g1, %g4 | 301 | mov %g1, %g4 |
302 | ba,pt %xcc, etrap_irq | 302 | ba,pt %xcc, etrap_irq |
303 | rd %pc, %g7 | 303 | rd %pc, %g7 |
@@ -327,7 +327,7 @@ sun4v_nonres_mondo_queue_full: | |||
327 | membar #Sync | 327 | membar #Sync |
328 | 328 | ||
329 | rdpr %pil, %g2 | 329 | rdpr %pil, %g2 |
330 | wrpr %g0, 15, %pil | 330 | wrpr %g0, PIL_NORMAL_MAX, %pil |
331 | ba,pt %xcc, etrap_irq | 331 | ba,pt %xcc, etrap_irq |
332 | rd %pc, %g7 | 332 | rd %pc, %g7 |
333 | #ifdef CONFIG_TRACE_IRQFLAGS | 333 | #ifdef CONFIG_TRACE_IRQFLAGS |