Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=00bf0610e4cdbb9fd79ce4718e12b24cd7876dd7
Commit:     00bf0610e4cdbb9fd79ce4718e12b24cd7876dd7
Parent:     44530c696b3fc2c8a45bdc798af85528e065ed80
Author:     Paul Mundt <[EMAIL PROTECTED]>
AuthorDate: Tue May 8 13:01:37 2007 +0900
Committer:  Paul Mundt <[EMAIL PROTECTED]>
CommitDate: Wed May 9 01:35:01 2007 +0000

    sh: Share exception vector table for SH-3/4.
    
    The only difference between these at the moment are the FPU
    exceptions, and these are hidden away under CONFIG_SH_FPU
    (which is only set for the SH-4 case anyways..).
    
    This consolidates the two tables, and updates SH-4 to use
    the updated copy.
    
    Signed-off-by: Paul Mundt <[EMAIL PROTECTED]>
---
 arch/sh/kernel/cpu/sh3/ex.S     |   13 +++++---
 arch/sh/kernel/cpu/sh4/Makefile |    6 ++--
 arch/sh/kernel/cpu/sh4/ex.S     |   62 ---------------------------------------
 3 files changed, 11 insertions(+), 70 deletions(-)

diff --git a/arch/sh/kernel/cpu/sh3/ex.S b/arch/sh/kernel/cpu/sh3/ex.S
index ba3082d..2b2a9e0 100644
--- a/arch/sh/kernel/cpu/sh3/ex.S
+++ b/arch/sh/kernel/cpu/sh3/ex.S
@@ -1,7 +1,7 @@
 /*
  *  arch/sh/kernel/cpu/sh3/ex.S
  *
- *  The SH-3 exception vector table.
+ *  The SH-3 and SH-4 exception vector table.
 
  *  Copyright (C) 1999, 2000, 2002  Niibe Yutaka
  *  Copyright (C) 2003 - 2006  Paul Mundt
@@ -9,7 +9,6 @@
  * This file is subject to the terms and conditions of the GNU General Public
  * License.  See the file "COPYING" in the main directory of this archive
  * for more details.
- *
  */
 #include <linux/linkage.h>
 
@@ -36,8 +35,12 @@ ENTRY(exception_handling_table)
        .long   exception_error ! address error load
        .long   exception_error ! address error store   /* 100 */
 #endif
-       .long   exception_error ! fpu_exception /* 120 */
-       .long   exception_error                 /* 140 */
+#if defined(CONFIG_SH_FPU)
+       .long   do_fpu_error            /* 120 */
+#else
+       .long   exception_error         /* 120 */
+#endif
+       .long   exception_error         /* 140 */
        .long   system_call     ! Unconditional Trap     /* 160 */
        .long   exception_error ! reserved_instruction (filled by trap_init) /* 
180 */
        .long   exception_error ! illegal_slot_instruction (filled by 
trap_init) /*1A0*/
@@ -55,4 +58,4 @@ ENTRY(user_break_point_trap)
         * away offsets can be manually inserted in to their appropriate
         * location via set_exception_table_{evt,vec}().
         */
-       .balign 4096,0,4096
+       .balign 4096,0,4096
diff --git a/arch/sh/kernel/cpu/sh4/Makefile b/arch/sh/kernel/cpu/sh4/Makefile
index 19ca68c..8add10b 100644
--- a/arch/sh/kernel/cpu/sh4/Makefile
+++ b/arch/sh/kernel/cpu/sh4/Makefile
@@ -2,10 +2,10 @@
 # Makefile for the Linux/SuperH SH-4 backends.
 #
 
-obj-y  := ex.o probe.o common.o
-common-y       += $(addprefix ../sh3/, entry.o)
+obj-y  := probe.o common.o
+common-y       += $(addprefix ../sh3/, entry.o ex.o)
 
-obj-$(CONFIG_SH_FPU)                    += fpu.o
+obj-$(CONFIG_SH_FPU)                   += fpu.o
 obj-$(CONFIG_SH_STORE_QUEUES)          += sq.o
 
 # CPU subtype setup
diff --git a/arch/sh/kernel/cpu/sh4/ex.S b/arch/sh/kernel/cpu/sh4/ex.S
deleted file mode 100644
index ac8ab57..0000000
--- a/arch/sh/kernel/cpu/sh4/ex.S
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- *  arch/sh/kernel/cpu/sh4/ex.S
- *
- *  The SH-4 exception vector table.
-
- *  Copyright (C) 1999, 2000, 2002  Niibe Yutaka
- *  Copyright (C) 2003 - 2006  Paul Mundt
- *
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- *
- */
-#include <linux/linkage.h>
-
-       .align 2
-       .data
-
-ENTRY(exception_handling_table)
-       .long   exception_error         /* 000 */
-       .long   exception_error
-#if defined(CONFIG_MMU)
-       .long   tlb_miss_load           /* 040 */
-       .long   tlb_miss_store
-       .long   initial_page_write
-       .long   tlb_protection_violation_load
-       .long   tlb_protection_violation_store
-       .long   address_error_load
-       .long   address_error_store     /* 100 */
-#else
-       .long   exception_error ! tlb miss load         /* 040 */
-       .long   exception_error ! tlb miss store
-       .long   exception_error ! initial page write
-       .long   exception_error ! tlb prot violation load
-       .long   exception_error ! tlb prot violation store
-       .long   exception_error ! address error load
-       .long   exception_error ! address error store   /* 100 */
-#endif
-#if defined(CONFIG_SH_FPU)
-       .long   do_fpu_error            /* 120 */
-#else
-       .long   exception_error         /* 120 */
-#endif
-       .long   exception_error         /* 140 */
-       .long   system_call     ! Unconditional Trap     /* 160 */
-       .long   exception_error ! reserved_instruction (filled by trap_init) /* 
180 */
-       .long   exception_error ! illegal_slot_instruction (filled by 
trap_init) /*1A0*/
-ENTRY(nmi_slot)
-#if defined (CONFIG_KGDB_NMI)
-       .long   debug_enter     /* 1C0 */       ! Allow trap to debugger
-#else
-       .long   exception_none  /* 1C0 */       ! Not implemented yet
-#endif
-ENTRY(user_break_point_trap)
-       .long   break_point_trap        /* 1E0 */
-
-       /*
-        * Pad the remainder of the table out, exceptions residing in far
-        * away offsets can be manually inserted in to their appropriate
-        * location via set_exception_table_{evt,vec}().
-        */
-       .balign 4096,0,4096
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to