linux-cvs-patches
[Top] [All Lists]

CVS Update@linux-mips.org: linux

To: linux-cvs-patches@linux-mips.org
Subject: CVS Update@linux-mips.org: linux
From: ralf@linux-mips.org
Date: Tue, 01 Mar 2005 21:20:53 +0000
Reply-to: linux-mips@linux-mips.org
Sender: linux-cvs-patches-bounce@linux-mips.org
CVSROOT:        /home/cvs
Module name:    linux
Changes by:     ralf@ftp.linux-mips.org 05/03/01 21:20:47

Modified files:
        arch/mips      : Makefile 
        arch/mips/kernel: i8259.c process.c ptrace.c signal.c traps.c 
                          unaligned.c 
        arch/mips/mm   : c-r4k.c cache.c fault.c 
        include/asm-mips: cacheflush.h irq.h signal.h 

Log message:
        More sparsification.

diff -urN linux/arch/mips/Makefile linux/arch/mips/Makefile
--- linux/arch/mips/Makefile    2005/03/01 06:33:16     1.191
+++ linux/arch/mips/Makefile    2005/03/01 21:20:46     1.192
@@ -52,6 +52,16 @@
 CROSS_COMPILE          := $(tool-prefix)
 endif
 
+CHECKFLAGS-y                           += -D__linux__ -D__mips__
+CHECKFLAGS-$(CONFIG_MIPS32)            += -D_MIPS_SZLONG=32 \
+                                          -D__PTRDIFF_TYPE__=int
+CHECKFLAGS-$(CONFIG_MIPS64)            += -D_MIPS_SZLONG=64 \
+                                          -D__PTRDIFF_TYPE__="long int"
+CHECKFLAGS-$(CONFIG_CPU_BIG_ENDIAN)    += -D__MIPSEL__
+CHECKFLAGS-$(CONFIG_CPU_LITTLE_ENDIAN) += -D__MIPSEL__
+
+CHECKFLAGS                             = $(CHECKFLAGS-y)
+
 ifdef CONFIG_BUILD_ELF64
 gas-abi                        = 64
 ld-emul                        = $(64bit-emul)
diff -urN linux/arch/mips/kernel/i8259.c linux/arch/mips/kernel/i8259.c
--- linux/arch/mips/kernel/i8259.c      2005/02/28 13:39:57     1.20
+++ linux/arch/mips/kernel/i8259.c      2005/03/01 21:20:47     1.21
@@ -321,7 +321,7 @@
 
        for (i = 0; i < 16; i++) {
                irq_desc[i].status = IRQ_DISABLED;
-               irq_desc[i].action = 0;
+               irq_desc[i].action = NULL;
                irq_desc[i].depth = 1;
                irq_desc[i].handler = &i8259A_irq_type;
        }
diff -urN linux/arch/mips/kernel/process.c linux/arch/mips/kernel/process.c
--- linux/arch/mips/kernel/process.c    2005/02/21 10:55:16     1.75
+++ linux/arch/mips/kernel/process.c    2005/03/01 21:20:47     1.76
@@ -39,14 +39,6 @@
 #include <asm/inst.h>
 
 /*
- * We use this if we don't have any better idle routine..
- * (This to kill: kernel/platform.c.
- */
-void default_idle (void)
-{
-}
-
-/*
  * The idle thread. There's no useful work to be done, so just try to conserve
  * power and have a low exit latency (ie sit in a loop waiting for somebody to
  * say that they'd like to reschedule)
diff -urN linux/arch/mips/kernel/ptrace.c linux/arch/mips/kernel/ptrace.c
--- linux/arch/mips/kernel/ptrace.c     2005/02/07 02:54:34     1.58
+++ linux/arch/mips/kernel/ptrace.c     2005/03/01 21:20:47     1.59
@@ -101,7 +101,7 @@
                ret = -EIO;
                if (copied != sizeof(tmp))
                        break;
-               ret = put_user(tmp,(unsigned long *) data);
+               ret = put_user(tmp,(unsigned long __user *) data);
                break;
        }
 
@@ -178,7 +178,7 @@
                        ret = -EIO;
                        goto out_tsk;
                }
-               ret = put_user(tmp, (unsigned long *) data);
+               ret = put_user(tmp, (unsigned long __user *) data);
                break;
        }
 
diff -urN linux/arch/mips/kernel/signal.c linux/arch/mips/kernel/signal.c
--- linux/arch/mips/kernel/signal.c     2005/01/25 04:28:00     1.88
+++ linux/arch/mips/kernel/signal.c     2005/03/01 21:20:47     1.89
@@ -47,9 +47,10 @@
 __attribute_used__ noinline static int
 _sys_sigsuspend(nabi_no_regargs struct pt_regs regs)
 {
-       sigset_t *uset, saveset, newset;
+       sigset_t saveset, newset;
+       sigset_t __user *uset;
 
-       uset = (sigset_t *) regs.regs[4];
+       uset = (sigset_t __user *) regs.regs[4];
        if (copy_from_user(&newset, uset, sizeof(sigset_t)))
                return -EFAULT;
        sigdelsetmask(&newset, ~_BLOCKABLE);
@@ -75,7 +76,8 @@
 __attribute_used__ noinline static int
 _sys_rt_sigsuspend(nabi_no_regargs struct pt_regs regs)
 {
-       sigset_t *unewset, saveset, newset;
+       sigset_t saveset, newset;
+       sigset_t __user *unewset;
        size_t sigsetsize;
 
        /* XXX Don't preclude handling different sized sigset_t's.  */
@@ -83,7 +85,7 @@
        if (sigsetsize != sizeof(sigset_t))
                return -EINVAL;
 
-       unewset = (sigset_t *) regs.regs[4];
+       unewset = (sigset_t __user *) regs.regs[4];
        if (copy_from_user(&newset, unewset, sizeof(newset)))
                return -EFAULT;
        sigdelsetmask(&newset, ~_BLOCKABLE);
@@ -147,8 +149,8 @@
 
 asmlinkage int sys_sigaltstack(nabi_no_regargs struct pt_regs regs)
 {
-       const stack_t *uss = (const stack_t *) regs.regs[4];
-       stack_t *uoss = (stack_t *) regs.regs[5];
+       const stack_t __user *uss = (const stack_t __user *) regs.regs[4];
+       stack_t __user *uoss = (stack_t __user *) regs.regs[5];
        unsigned long usp = regs.regs[29];
 
        return do_sigaltstack(uss, uoss, usp);
diff -urN linux/arch/mips/kernel/traps.c linux/arch/mips/kernel/traps.c
--- linux/arch/mips/kernel/traps.c      2005/03/01 18:15:08     1.209
+++ linux/arch/mips/kernel/traps.c      2005/03/01 21:20:47     1.210
@@ -339,9 +339,9 @@
 
 static inline int get_insn_opcode(struct pt_regs *regs, unsigned int *opcode)
 {
-       unsigned int *epc;
+       unsigned int __user *epc;
 
-       epc = (unsigned int *) regs->cp0_epc +
+       epc = (unsigned int __user *) regs->cp0_epc +
              ((regs->cp0_cause & CAUSEF_BD) != 0);
        if (!get_user(*opcode, epc))
                return 0;
@@ -371,7 +371,7 @@
 
 static inline void simulate_ll(struct pt_regs *regs, unsigned int opcode)
 {
-       unsigned long value, *vaddr;
+       unsigned long value, __user *vaddr;
        long offset;
        int signal = 0;
 
@@ -385,7 +385,8 @@
        offset <<= 16;
        offset >>= 16;
 
-       vaddr = (unsigned long *)((long)(regs->regs[(opcode & BASE) >> 21]) + 
offset);
+       vaddr = (unsigned long __user *)
+               ((unsigned long)(regs->regs[(opcode & BASE) >> 21]) + offset);
 
        if ((unsigned long)vaddr & 3) {
                signal = SIGBUS;
@@ -418,7 +419,8 @@
 
 static inline void simulate_sc(struct pt_regs *regs, unsigned int opcode)
 {
-       unsigned long *vaddr, reg;
+       unsigned long __user *vaddr;
+       unsigned long reg;
        long offset;
        int signal = 0;
 
@@ -432,7 +434,8 @@
        offset <<= 16;
        offset >>= 16;
 
-       vaddr = (unsigned long *)((long)(regs->regs[(opcode & BASE) >> 21]) + 
offset);
+       vaddr = (unsigned long __user *)
+               ((unsigned long)(regs->regs[(opcode & BASE) >> 21]) + offset);
        reg = (opcode & RT) >> 16;
 
        if ((unsigned long)vaddr & 3) {
@@ -498,7 +501,7 @@
        info.si_code = FPE_INTOVF;
        info.si_signo = SIGFPE;
        info.si_errno = 0;
-       info.si_addr = (void *)regs->cp0_epc;
+       info.si_addr = (void __user *) regs->cp0_epc;
        force_sig_info(SIGFPE, &info, current);
 }
 
@@ -584,7 +587,7 @@
                        info.si_code = FPE_INTOVF;
                info.si_signo = SIGFPE;
                info.si_errno = 0;
-               info.si_addr = (void *)regs->cp0_epc;
+               info.si_addr = (void __user *) regs->cp0_epc;
                force_sig_info(SIGFPE, &info, current);
                break;
        default:
@@ -621,7 +624,7 @@
                        info.si_code = FPE_INTOVF;
                info.si_signo = SIGFPE;
                info.si_errno = 0;
-               info.si_addr = (void *)regs->cp0_epc;
+               info.si_addr = (void __user *) regs->cp0_epc;
                force_sig_info(SIGFPE, &info, current);
                break;
        default:
diff -urN linux/arch/mips/kernel/unaligned.c linux/arch/mips/kernel/unaligned.c
--- linux/arch/mips/kernel/unaligned.c  2004/01/02 15:40:40     1.36
+++ linux/arch/mips/kernel/unaligned.c  2005/03/01 21:20:47     1.37
@@ -94,7 +94,7 @@
 #endif
 
 static inline int emulate_load_store_insn(struct pt_regs *regs,
-       void *addr, unsigned long pc,
+       void __user *addr, unsigned int __user *pc,
        unsigned long **regptr, unsigned long *newvalue)
 {
        union mips_instruction insn;
@@ -107,7 +107,7 @@
        /*
         * This load never faults.
         */
-       __get_user(insn.word, (unsigned int *)pc);
+       __get_user(insn.word, pc);
 
        switch (insn.i_format.opcode) {
        /*
@@ -494,8 +494,8 @@
 {
        unsigned long *regptr, newval;
        extern int do_dsemulret(struct pt_regs *);
+       unsigned int __user *pc;
        mm_segment_t seg;
-       unsigned long pc;
 
        /*
         * Address errors may be deliberately induced by the FPU emulator to
@@ -515,7 +515,7 @@
        if ((regs->cp0_badvaddr == regs->cp0_epc) || (regs->cp0_epc & 0x1))
                goto sigbus;
 
-       pc = exception_epc(regs);
+       pc = (unsigned int __user *) exception_epc(regs);
        if ((current->thread.mflags & MF_FIXADE) == 0)
                goto sigbus;
 
@@ -526,7 +526,7 @@
        seg = get_fs();
        if (!user_mode(regs))
                set_fs(KERNEL_DS);
-       if (!emulate_load_store_insn(regs, (void *)regs->cp0_badvaddr, pc,
+       if (!emulate_load_store_insn(regs, (void __user *)regs->cp0_badvaddr, 
pc,
                                     &regptr, &newval)) {
                compute_return_epc(regs);
                /*
diff -urN linux/arch/mips/mm/c-r4k.c linux/arch/mips/mm/c-r4k.c
--- linux/arch/mips/mm/c-r4k.c  2005/03/01 06:33:17     1.105
+++ linux/arch/mips/mm/c-r4k.c  2005/03/01 21:20:47     1.106
@@ -457,8 +457,8 @@
 }
 
 struct flush_icache_range_args {
-       unsigned long start;
-       unsigned long end;
+       unsigned long __user start;
+       unsigned long __user end;
 };
 
 static inline void local_r4k_flush_icache_range(void *args)
@@ -520,7 +520,8 @@
        }
 }
 
-static void r4k_flush_icache_range(unsigned long start, unsigned long end)
+static void r4k_flush_icache_range(unsigned long __user start,
+       unsigned long __user end)
 {
        struct flush_icache_range_args args;
 
diff -urN linux/arch/mips/mm/cache.c linux/arch/mips/mm/cache.c
--- linux/arch/mips/mm/cache.c  2004/12/18 01:59:14     1.16
+++ linux/arch/mips/mm/cache.c  2005/03/01 21:20:47     1.17
@@ -24,7 +24,8 @@
 void (*flush_cache_range)(struct vm_area_struct *vma, unsigned long start,
        unsigned long end);
 void (*flush_cache_page)(struct vm_area_struct *vma, unsigned long page);
-void (*flush_icache_range)(unsigned long start, unsigned long end);
+void (*flush_icache_range)(unsigned long __user start,
+       unsigned long __user end);
 void (*flush_icache_page)(struct vm_area_struct *vma, struct page *page);
 
 /* MIPS specific cache operations */
@@ -49,10 +50,10 @@
  * We could optimize the case where the cache argument is not BCACHE but
  * that seems very atypical use ...
  */
-asmlinkage int sys_cacheflush(unsigned long addr, unsigned long int bytes,
-       unsigned int cache)
+asmlinkage int sys_cacheflush(unsigned long __user addr,
+       unsigned long bytes, unsigned int cache)
 {
-       if (verify_area(VERIFY_WRITE, (void *) addr, bytes))
+       if (verify_area(VERIFY_WRITE, (void __user *) addr, bytes))
                return -EFAULT;
 
        flush_icache_range(addr, addr + bytes);
diff -urN linux/arch/mips/mm/fault.c linux/arch/mips/mm/fault.c
--- linux/arch/mips/mm/fault.c  2005/02/19 13:56:04     1.56
+++ linux/arch/mips/mm/fault.c  2005/03/01 21:20:47     1.57
@@ -141,7 +141,7 @@
                info.si_signo = SIGSEGV;
                info.si_errno = 0;
                /* info.si_code has been set above */
-               info.si_addr = (void *) address;
+               info.si_addr = (void __user *) address;
                force_sig_info(SIGSEGV, &info, tsk);
                return;
        }
@@ -197,7 +197,7 @@
        info.si_signo = SIGBUS;
        info.si_errno = 0;
        info.si_code = BUS_ADRERR;
-       info.si_addr = (void *) address;
+       info.si_addr = (void __user *) address;
        force_sig_info(SIGBUS, &info, tsk);
 
        return;
diff -urN linux/include/asm-mips/cacheflush.h 
linux/include/asm-mips/cacheflush.h
--- linux/include/asm-mips/cacheflush.h 2005/02/09 12:59:39     1.15
+++ linux/include/asm-mips/cacheflush.h 2005/03/01 21:20:47     1.16
@@ -50,7 +50,8 @@
 
 extern void (*flush_icache_page)(struct vm_area_struct *vma,
        struct page *page);
-extern void (*flush_icache_range)(unsigned long start, unsigned long end);
+extern void (*flush_icache_range)(unsigned long __user start,
+       unsigned long __user end);
 #define flush_cache_vmap(start, end)           flush_cache_all()
 #define flush_cache_vunmap(start, end)         flush_cache_all()
 
diff -urN linux/include/asm-mips/irq.h linux/include/asm-mips/irq.h
--- linux/include/asm-mips/irq.h        2004/11/09 13:27:43     1.26
+++ linux/include/asm-mips/irq.h        2005/03/01 21:20:47     1.27
@@ -24,11 +24,9 @@
 
 struct pt_regs;
 
-#ifdef CONFIG_PREEMPT
-
 extern asmlinkage unsigned int do_IRQ(unsigned int irq, struct pt_regs *regs);
 
-#else
+#ifdef CONFIG_PREEMPT
 
 /*
  * do_IRQ handles all normal device IRQ's (the special
diff -urN linux/include/asm-mips/signal.h linux/include/asm-mips/signal.h
--- linux/include/asm-mips/signal.h     2003/09/30 14:27:29     1.17
+++ linux/include/asm-mips/signal.h     2005/03/01 21:20:47     1.18
@@ -120,7 +120,8 @@
                                   set only the low 32 bit of the sigset.  */
 
 /* Type of a signal handler.  */
-typedef void (*__sighandler_t)(int);
+typedef void __signalfn_t(int);
+typedef __signalfn_t __user *__sighandler_t;
 
 /* Fake signal functions */
 #define SIG_DFL        ((__sighandler_t)0)     /* default signal handling */

<Prev in Thread] Current Thread [Next in Thread>