Merge branch 'master' into for_paulus
[linux-drm-fsl-dcu.git] / arch / m68k / kernel / traps.c
index 9adf378f8f1e044a64e6a60b132361224061efd0..a27a4fa332962a6c35918c1f28c3f6494c026453 100644 (file)
@@ -18,7 +18,6 @@
  * Sets up all exception vectors
  */
 
-#include <linux/config.h>
 #include <linux/sched.h>
 #include <linux/signal.h>
 #include <linux/kernel.h>
@@ -45,7 +44,6 @@
 asmlinkage void system_call(void);
 asmlinkage void buserr(void);
 asmlinkage void trap(void);
-asmlinkage void inthandler(void);
 asmlinkage void nmihandler(void);
 #ifdef CONFIG_M68KFPU_EMU
 asmlinkage void fpu_emu(void);
@@ -53,51 +51,7 @@ asmlinkage void fpu_emu(void);
 
 e_vector vectors[256] = {
        [VEC_BUSERR]    = buserr,
-       [VEC_ADDRERR]   = trap,
-       [VEC_ILLEGAL]   = trap,
-       [VEC_ZERODIV]   = trap,
-       [VEC_CHK]       = trap,
-       [VEC_TRAP]      = trap,
-       [VEC_PRIV]      = trap,
-       [VEC_TRACE]     = trap,
-       [VEC_LINE10]    = trap,
-       [VEC_LINE11]    = trap,
-       [VEC_RESV12]    = trap,
-       [VEC_COPROC]    = trap,
-       [VEC_FORMAT]    = trap,
-       [VEC_UNINT]     = trap,
-       [VEC_RESV16]    = trap,
-       [VEC_RESV17]    = trap,
-       [VEC_RESV18]    = trap,
-       [VEC_RESV19]    = trap,
-       [VEC_RESV20]    = trap,
-       [VEC_RESV21]    = trap,
-       [VEC_RESV22]    = trap,
-       [VEC_RESV23]    = trap,
-       [VEC_SPUR]      = inthandler,
-       [VEC_INT1]      = inthandler,
-       [VEC_INT2]      = inthandler,
-       [VEC_INT3]      = inthandler,
-       [VEC_INT4]      = inthandler,
-       [VEC_INT5]      = inthandler,
-       [VEC_INT6]      = inthandler,
-       [VEC_INT7]      = inthandler,
        [VEC_SYS]       = system_call,
-       [VEC_TRAP1]     = trap,
-       [VEC_TRAP2]     = trap,
-       [VEC_TRAP3]     = trap,
-       [VEC_TRAP4]     = trap,
-       [VEC_TRAP5]     = trap,
-       [VEC_TRAP6]     = trap,
-       [VEC_TRAP7]     = trap,
-       [VEC_TRAP8]     = trap,
-       [VEC_TRAP9]     = trap,
-       [VEC_TRAP10]    = trap,
-       [VEC_TRAP11]    = trap,
-       [VEC_TRAP12]    = trap,
-       [VEC_TRAP13]    = trap,
-       [VEC_TRAP14]    = trap,
-       [VEC_TRAP15]    = trap,
 };
 
 /* nmi handler for the Amiga */
@@ -132,12 +86,15 @@ void __init trap_init (void)
 {
        int i;
 
-       for (i = 48; i < 64; i++)
+       for (i = VEC_SPUR; i <= VEC_INT7; i++)
+               vectors[i] = bad_inthandler;
+
+       for (i = 0; i < VEC_USER; i++)
                if (!vectors[i])
                        vectors[i] = trap;
 
-       for (i = 64; i < 256; i++)
-               vectors[i] = inthandler;
+       for (i = VEC_USER; i < 256; i++)
+               vectors[i] = bad_inthandler;
 
 #ifdef CONFIG_M68KFPU_EMU
        if (FPU_IS_EMU)
@@ -369,13 +326,13 @@ static inline int do_040writeback1(unsigned short wbs, unsigned long wba,
 
        switch (wbs & WBSIZ_040) {
        case BA_SIZE_BYTE:
-               res = put_user(wbd & 0xff, (char *)wba);
+               res = put_user(wbd & 0xff, (char __user *)wba);
                break;
        case BA_SIZE_WORD:
-               res = put_user(wbd & 0xffff, (short *)wba);
+               res = put_user(wbd & 0xffff, (short __user *)wba);
                break;
        case BA_SIZE_LONG:
-               res = put_user(wbd, (int *)wba);
+               res = put_user(wbd, (int __user *)wba);
                break;
        }
 
@@ -1054,7 +1011,7 @@ EXPORT_SYMBOL(dump_stack);
 void bad_super_trap (struct frame *fp)
 {
        console_verbose();
-       if (fp->ptregs.vector < 4*sizeof(vec_names)/sizeof(vec_names[0]))
+       if (fp->ptregs.vector < 4 * ARRAY_SIZE(vec_names))
                printk ("*** %s ***   FORMAT=%X\n",
                        vec_names[(fp->ptregs.vector) >> 2],
                        fp->ptregs.format);