MIPS: MT: Remove SMTC support
[cascardo/linux.git] / arch / mips / kernel / genex.S
index a9ce340..ac35e12 100644 (file)
 #include <asm/war.h>
 #include <asm/thread_info.h>
 
-#ifdef CONFIG_MIPS_MT_SMTC
-#define PANIC_PIC(msg)                                 \
-               .set    push;                           \
-               .set    nomicromips;                    \
-               .set    reorder;                        \
-               PTR_LA  a0,8f;                          \
-               .set    noat;                           \
-               PTR_LA  AT, panic;                      \
-               jr      AT;                             \
-9:             b       9b;                             \
-               .set    pop;                            \
-               TEXT(msg)
-#endif
-
        __INIT
 
 /*
@@ -251,15 +237,6 @@ NESTED(except_vec_vi, 0, sp)
        SAVE_AT
        .set    push
        .set    noreorder
-#ifdef CONFIG_MIPS_MT_SMTC
-       /*
-        * To keep from blindly blocking *all* interrupts
-        * during service by SMTC kernel, we also want to
-        * pass the IM value to be cleared.
-        */
-FEXPORT(except_vec_vi_mori)
-       ori     a0, $0, 0
-#endif /* CONFIG_MIPS_MT_SMTC */
        PTR_LA  v1, except_vec_vi_handler
 FEXPORT(except_vec_vi_lui)
        lui     v0, 0           /* Patched */
@@ -277,37 +254,10 @@ EXPORT(except_vec_vi_end)
 NESTED(except_vec_vi_handler, 0, sp)
        SAVE_TEMP
        SAVE_STATIC
-#ifdef CONFIG_MIPS_MT_SMTC
-       /*
-        * SMTC has an interesting problem that interrupts are level-triggered,
-        * and the CLI macro will clear EXL, potentially causing a duplicate
-        * interrupt service invocation. So we need to clear the associated
-        * IM bit of Status prior to doing CLI, and restore it after the
-        * service routine has been invoked - we must assume that the
-        * service routine will have cleared the state, and any active
-        * level represents a new or otherwised unserviced event...
-        */
-       mfc0    t1, CP0_STATUS
-       and     t0, a0, t1
-#ifdef CONFIG_MIPS_MT_SMTC_IM_BACKSTOP
-       mfc0    t2, CP0_TCCONTEXT
-       or      t2, t0, t2
-       mtc0    t2, CP0_TCCONTEXT
-#endif /* CONFIG_MIPS_MT_SMTC_IM_BACKSTOP */
-       xor     t1, t1, t0
-       mtc0    t1, CP0_STATUS
-       _ehb
-#endif /* CONFIG_MIPS_MT_SMTC */
        CLI
 #ifdef CONFIG_TRACE_IRQFLAGS
        move    s0, v0
-#ifdef CONFIG_MIPS_MT_SMTC
-       move    s1, a0
-#endif
        TRACE_IRQS_OFF
-#ifdef CONFIG_MIPS_MT_SMTC
-       move    a0, s1
-#endif
        move    v0, s0
 #endif
 
@@ -496,9 +446,6 @@ NESTED(nmi_handler, PT_SIZE, sp)
 
        .align  5
        LEAF(handle_ri_rdhwr_vivt)
-#ifdef CONFIG_MIPS_MT_SMTC
-       PANIC_PIC("handle_ri_rdhwr_vivt called")
-#else
        .set    push
        .set    noat
        .set    noreorder
@@ -517,7 +464,6 @@ NESTED(nmi_handler, PT_SIZE, sp)
        .set    pop
        bltz    k1, handle_ri   /* slow path */
        /* fall thru */
-#endif
        END(handle_ri_rdhwr_vivt)
 
        LEAF(handle_ri_rdhwr)