Sparseify MIPS.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
Ralf Baechle
2005-03-01 19:22:29 +00:00
parent 14f18b7f7e
commit fe00f943e0
21 changed files with 622 additions and 600 deletions

View File

@ -456,8 +456,8 @@ static void r4k_flush_data_cache_page(unsigned long addr)
}
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)
@ -519,7 +519,8 @@ static inline void local_r4k_flush_icache_range(void *args)
}
}
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;

View File

@ -24,7 +24,8 @@ void (*flush_cache_mm)(struct mm_struct *mm);
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, unsigned long pfn);
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 @@ EXPORT_SYMBOL(_dma_cache_inv);
* 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 (!access_ok(VERIFY_WRITE, (void *) addr, bytes))
if (!access_ok(VERIFY_WRITE, (void __user *) addr, bytes))
return -EFAULT;
flush_icache_range(addr, addr + bytes);

View File

@ -141,7 +141,7 @@ bad_area_nosemaphore:
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 @@ do_sigbus:
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;