diff options
Diffstat (limited to 'arch/sparc/kernel/entry.S')
-rw-r--r-- | arch/sparc/kernel/entry.S | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/arch/sparc/kernel/entry.S b/arch/sparc/kernel/entry.S index f445e98463e6..e0e0b8109225 100644 --- a/arch/sparc/kernel/entry.S +++ b/arch/sparc/kernel/entry.S | |||
@@ -317,8 +317,8 @@ maybe_smp4m_msg_out: | |||
317 | RESTORE_ALL | 317 | RESTORE_ALL |
318 | 318 | ||
319 | .align 4 | 319 | .align 4 |
320 | .globl linux_trap_ipi15_sun4m | 320 | .globl linux_trap_ipi15 |
321 | linux_trap_ipi15_sun4m: | 321 | linux_trap_ipi15: |
322 | SAVE_ALL | 322 | SAVE_ALL |
323 | sethi %hi(0x80000000), %o2 | 323 | sethi %hi(0x80000000), %o2 |
324 | GET_PROCESSOR4M_ID(o0) | 324 | GET_PROCESSOR4M_ID(o0) |
@@ -760,20 +760,12 @@ setcc_trap_handler: | |||
760 | jmp %l2 ! advance over trap instruction | 760 | jmp %l2 ! advance over trap instruction |
761 | rett %l2 + 0x4 ! like this... | 761 | rett %l2 + 0x4 ! like this... |
762 | 762 | ||
763 | #ifndef CONFIG_SMP | ||
763 | .align 4 | 764 | .align 4 |
764 | .globl linux_trap_nmi_sun4c | 765 | .globl linux_trap_ipi15 |
765 | linux_trap_nmi_sun4c: | 766 | linux_trap_ipi15: |
766 | SAVE_ALL | 767 | SAVE_ALL |
767 | 768 | ||
768 | /* Ugh, we need to clear the IRQ line. This is now | ||
769 | * a very sun4c specific trap handler... | ||
770 | */ | ||
771 | sethi %hi(interrupt_enable), %l5 | ||
772 | ld [%l5 + %lo(interrupt_enable)], %l5 | ||
773 | ldub [%l5], %l6 | ||
774 | andn %l6, INTS_ENAB, %l6 | ||
775 | stb %l6, [%l5] | ||
776 | |||
777 | /* Now it is safe to re-enable traps without recursion. */ | 769 | /* Now it is safe to re-enable traps without recursion. */ |
778 | or %l0, PSR_PIL, %l0 | 770 | or %l0, PSR_PIL, %l0 |
779 | wr %l0, PSR_ET, %psr | 771 | wr %l0, PSR_ET, %psr |
@@ -797,6 +789,8 @@ linux_trap_nmi_sun4c: | |||
797 | 789 | ||
798 | RESTORE_ALL | 790 | RESTORE_ALL |
799 | 791 | ||
792 | #endif /* CONFIG_SMP */ | ||
793 | |||
800 | .align 4 | 794 | .align 4 |
801 | .globl invalid_segment_patch1_ff | 795 | .globl invalid_segment_patch1_ff |
802 | .globl invalid_segment_patch2_ff | 796 | .globl invalid_segment_patch2_ff |