[MIPS] Remove commented out function prom_build_cpu_map.
[safe/jmp/linux-2.6] / arch / mips / kernel / genex.S
index 3a1a3e7..13f22d1 100644 (file)
@@ -82,7 +82,7 @@ NESTED(except_vec3_r4000, 0, sp)
         li     k0, 14<<2
        beq     k1, k0, handle_vcei
 #ifdef CONFIG_64BIT
-       dsll    k1, k1, 1
+        dsll   k1, k1, 1
 #endif
        .set    pop
        PTR_L   k0, exception_handlers(k1)
@@ -90,17 +90,17 @@ NESTED(except_vec3_r4000, 0, sp)
 
        /*
         * Big shit, we now may have two dirty primary cache lines for the same
-        * physical address.  We can savely invalidate the line pointed to by
+        * physical address.  We can safely invalidate the line pointed to by
         * c0_badvaddr because after return from this exception handler the
         * load / store will be re-executed.
         */
 handle_vced:
-       DMFC0   k0, CP0_BADVADDR
+       MFC0    k0, CP0_BADVADDR
        li      k1, -4                                  # Is this ...
        and     k0, k1                                  # ... really needed?
        mtc0    zero, CP0_TAGLO
-       cache   Index_Store_Tag_D,(k0)
-       cache   Hit_Writeback_Inv_SD,(k0)
+       cache   Index_Store_Tag_D, (k0)
+       cache   Hit_Writeback_Inv_SD, (k0)
 #ifdef CONFIG_PROC_FS
        PTR_LA  k0, vced_count
        lw      k1, (k0)
@@ -148,6 +148,38 @@ NESTED(except_vec_ejtag_debug, 0, sp)
        __FINIT
 
 /*
+ * Vectored interrupt handler.
+ * This prototype is copied to ebase + n*IntCtl.VS and patched
+ * to invoke the handler
+ */
+NESTED(except_vec_vi, 0, sp)
+       SAVE_SOME
+       SAVE_AT
+       .set    push
+       .set    noreorder
+EXPORT(except_vec_vi_lui)
+       lui     v0, 0           /* Patched */
+       j       except_vec_vi_handler
+EXPORT(except_vec_vi_ori)
+        ori    v0, 0           /* Patched */
+       .set    pop
+       END(except_vec_vi)
+EXPORT(except_vec_vi_end)
+
+/*
+ * Common Vectored Interrupt code
+ * Complete the register saves and invoke the handler which is passed in $v0
+ */
+NESTED(except_vec_vi_handler, 0, sp)
+       SAVE_TEMP
+       SAVE_STATIC
+       CLI
+       move    a0, sp
+       jalr    v0
+       j       ret_from_irq
+       END(except_vec_vi_handler)
+
+/*
  * EJTAG debug exception handler.
  */
 NESTED(ejtag_debug_handler, PT_SIZE, sp)
@@ -201,11 +233,11 @@ NESTED(except_vec_nmi, 0, sp)
 NESTED(nmi_handler, PT_SIZE, sp)
        .set    push
        .set    noat
-       .set    mips3
        SAVE_ALL
        move    a0, sp
        jal     nmi_exception_handler
        RESTORE_ALL
+       .set    mips3
        eret
        .set    pop
        END(nmi_handler)
@@ -244,12 +276,12 @@ NESTED(nmi_handler, PT_SIZE, sp)
           start with an n and gas will believe \n is ok ...  */
        .macro  __BUILD_verbose nexception
        LONG_L  a1, PT_EPC(sp)
-#if CONFIG_32BIT
+#ifdef CONFIG_32BIT
        PRINT("Got \nexception at %08lx\012")
-#endif 
-#if CONFIG_64BIT
+#endif
+#ifdef CONFIG_64BIT
        PRINT("Got \nexception at %016lx\012")
-#endif 
+#endif
        .endm
 
        .macro  __BUILD_count exception
@@ -291,6 +323,8 @@ NESTED(nmi_handler, PT_SIZE, sp)
        BUILD_HANDLER mdmx mdmx sti silent              /* #22 */
        BUILD_HANDLER watch watch sti verbose           /* #23 */
        BUILD_HANDLER mcheck mcheck cli verbose         /* #24 */
+       BUILD_HANDLER mt mt sti verbose                 /* #25 */
+       BUILD_HANDLER dsp dsp sti silent                /* #26 */
        BUILD_HANDLER reserved reserved sti verbose     /* others */
 
 #ifdef CONFIG_64BIT