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/cherrs.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/cherrs.S')
-rw-r--r-- | arch/sparc64/kernel/cherrs.S | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/sparc64/kernel/cherrs.S b/arch/sparc64/kernel/cherrs.S index 89afebd7eca0..4ee1ad420862 100644 --- a/arch/sparc64/kernel/cherrs.S +++ b/arch/sparc64/kernel/cherrs.S | |||
@@ -102,7 +102,7 @@ cheetah_plus_dcpe_trap_vector: | |||
102 | .type do_cheetah_plus_data_parity,#function | 102 | .type do_cheetah_plus_data_parity,#function |
103 | do_cheetah_plus_data_parity: | 103 | do_cheetah_plus_data_parity: |
104 | rdpr %pil, %g2 | 104 | rdpr %pil, %g2 |
105 | wrpr %g0, 15, %pil | 105 | wrpr %g0, PIL_NORMAL_MAX, %pil |
106 | ba,pt %xcc, etrap_irq | 106 | ba,pt %xcc, etrap_irq |
107 | rd %pc, %g7 | 107 | rd %pc, %g7 |
108 | #ifdef CONFIG_TRACE_IRQFLAGS | 108 | #ifdef CONFIG_TRACE_IRQFLAGS |
@@ -144,7 +144,7 @@ cheetah_plus_icpe_trap_vector: | |||
144 | .type do_cheetah_plus_insn_parity,#function | 144 | .type do_cheetah_plus_insn_parity,#function |
145 | do_cheetah_plus_insn_parity: | 145 | do_cheetah_plus_insn_parity: |
146 | rdpr %pil, %g2 | 146 | rdpr %pil, %g2 |
147 | wrpr %g0, 15, %pil | 147 | wrpr %g0, PIL_NORMAL_MAX, %pil |
148 | ba,pt %xcc, etrap_irq | 148 | ba,pt %xcc, etrap_irq |
149 | rd %pc, %g7 | 149 | rd %pc, %g7 |
150 | #ifdef CONFIG_TRACE_IRQFLAGS | 150 | #ifdef CONFIG_TRACE_IRQFLAGS |
@@ -492,7 +492,7 @@ cheetah_fast_ecc: | |||
492 | .type c_fast_ecc,#function | 492 | .type c_fast_ecc,#function |
493 | c_fast_ecc: | 493 | c_fast_ecc: |
494 | rdpr %pil, %g2 | 494 | rdpr %pil, %g2 |
495 | wrpr %g0, 15, %pil | 495 | wrpr %g0, PIL_NORMAL_MAX, %pil |
496 | ba,pt %xcc, etrap_irq | 496 | ba,pt %xcc, etrap_irq |
497 | rd %pc, %g7 | 497 | rd %pc, %g7 |
498 | #ifdef CONFIG_TRACE_IRQFLAGS | 498 | #ifdef CONFIG_TRACE_IRQFLAGS |
@@ -528,7 +528,7 @@ cheetah_cee: | |||
528 | .type c_cee,#function | 528 | .type c_cee,#function |
529 | c_cee: | 529 | c_cee: |
530 | rdpr %pil, %g2 | 530 | rdpr %pil, %g2 |
531 | wrpr %g0, 15, %pil | 531 | wrpr %g0, PIL_NORMAL_MAX, %pil |
532 | ba,pt %xcc, etrap_irq | 532 | ba,pt %xcc, etrap_irq |
533 | rd %pc, %g7 | 533 | rd %pc, %g7 |
534 | #ifdef CONFIG_TRACE_IRQFLAGS | 534 | #ifdef CONFIG_TRACE_IRQFLAGS |
@@ -564,7 +564,7 @@ cheetah_deferred_trap: | |||
564 | .type c_deferred,#function | 564 | .type c_deferred,#function |
565 | c_deferred: | 565 | c_deferred: |
566 | rdpr %pil, %g2 | 566 | rdpr %pil, %g2 |
567 | wrpr %g0, 15, %pil | 567 | wrpr %g0, PIL_NORMAL_MAX, %pil |
568 | ba,pt %xcc, etrap_irq | 568 | ba,pt %xcc, etrap_irq |
569 | rd %pc, %g7 | 569 | rd %pc, %g7 |
570 | #ifdef CONFIG_TRACE_IRQFLAGS | 570 | #ifdef CONFIG_TRACE_IRQFLAGS |