aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m32r
diff options
context:
space:
mode:
Diffstat (limited to 'arch/m32r')
-rw-r--r--arch/m32r/Kconfig12
-rw-r--r--arch/m32r/include/asm/atomic.h10
-rw-r--r--arch/m32r/include/asm/delay.h27
-rw-r--r--arch/m32r/include/asm/mmu_context.h2
-rw-r--r--arch/m32r/include/asm/processor.h1
-rw-r--r--arch/m32r/include/asm/ptrace.h2
-rw-r--r--arch/m32r/include/asm/spinlock.h2
-rw-r--r--arch/m32r/kernel/module.c38
-rw-r--r--arch/m32r/kernel/smp.c2
-rw-r--r--arch/m32r/kernel/syscall_table.S2
-rw-r--r--arch/m32r/kernel/traps.c2
11 files changed, 11 insertions, 89 deletions
diff --git a/arch/m32r/Kconfig b/arch/m32r/Kconfig
index 85b44e85822..b92b9445255 100644
--- a/arch/m32r/Kconfig
+++ b/arch/m32r/Kconfig
@@ -268,17 +268,7 @@ config SCHED_OMIT_FRAME_POINTER
268 bool 268 bool
269 default y 269 default y
270 270
271config PREEMPT 271source "kernel/Kconfig.preempt"
272 bool "Preemptible Kernel"
273 help
274 This option reduces the latency of the kernel when reacting to
275 real-time or interactive events by allowing a low priority process to
276 be preempted even if it is in kernel mode executing a system call.
277 This allows applications to run more reliably even when the system is
278 under load.
279
280 Say Y here if you are building a kernel for a desktop, embedded
281 or real-time system. Say N if you are unsure.
282 272
283config SMP 273config SMP
284 bool "Symmetric multi-processing support" 274 bool "Symmetric multi-processing support"
diff --git a/arch/m32r/include/asm/atomic.h b/arch/m32r/include/asm/atomic.h
index d44a51e5271..1e7f29fb21f 100644
--- a/arch/m32r/include/asm/atomic.h
+++ b/arch/m32r/include/asm/atomic.h
@@ -239,15 +239,15 @@ static __inline__ int atomic_dec_return(atomic_t *v)
239#define atomic_xchg(v, new) (xchg(&((v)->counter), new)) 239#define atomic_xchg(v, new) (xchg(&((v)->counter), new))
240 240
241/** 241/**
242 * atomic_add_unless - add unless the number is a given value 242 * __atomic_add_unless - add unless the number is a given value
243 * @v: pointer of type atomic_t 243 * @v: pointer of type atomic_t
244 * @a: the amount to add to v... 244 * @a: the amount to add to v...
245 * @u: ...unless v is equal to u. 245 * @u: ...unless v is equal to u.
246 * 246 *
247 * Atomically adds @a to @v, so long as it was not @u. 247 * Atomically adds @a to @v, so long as it was not @u.
248 * Returns non-zero if @v was not @u, and zero otherwise. 248 * Returns the old value of @v.
249 */ 249 */
250static __inline__ int atomic_add_unless(atomic_t *v, int a, int u) 250static __inline__ int __atomic_add_unless(atomic_t *v, int a, int u)
251{ 251{
252 int c, old; 252 int c, old;
253 c = atomic_read(v); 253 c = atomic_read(v);
@@ -259,10 +259,9 @@ static __inline__ int atomic_add_unless(atomic_t *v, int a, int u)
259 break; 259 break;
260 c = old; 260 c = old;
261 } 261 }
262 return c != (u); 262 return c;
263} 263}
264 264
265#define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0)
266 265
267static __inline__ void atomic_clear_mask(unsigned long mask, atomic_t *addr) 266static __inline__ void atomic_clear_mask(unsigned long mask, atomic_t *addr)
268{ 267{
@@ -314,5 +313,4 @@ static __inline__ void atomic_set_mask(unsigned long mask, atomic_t *addr)
314#define smp_mb__before_atomic_inc() barrier() 313#define smp_mb__before_atomic_inc() barrier()
315#define smp_mb__after_atomic_inc() barrier() 314#define smp_mb__after_atomic_inc() barrier()
316 315
317#include <asm-generic/atomic-long.h>
318#endif /* _ASM_M32R_ATOMIC_H */ 316#endif /* _ASM_M32R_ATOMIC_H */
diff --git a/arch/m32r/include/asm/delay.h b/arch/m32r/include/asm/delay.h
index 9dd9e999ea6..9670e127b7b 100644
--- a/arch/m32r/include/asm/delay.h
+++ b/arch/m32r/include/asm/delay.h
@@ -1,26 +1 @@
1#ifndef _ASM_M32R_DELAY_H #include <asm-generic/delay.h>
2#define _ASM_M32R_DELAY_H
3
4/*
5 * Copyright (C) 1993 Linus Torvalds
6 *
7 * Delay routines calling functions in arch/m32r/lib/delay.c
8 */
9
10extern void __bad_udelay(void);
11extern void __bad_ndelay(void);
12
13extern void __udelay(unsigned long usecs);
14extern void __ndelay(unsigned long nsecs);
15extern void __const_udelay(unsigned long xloops);
16extern void __delay(unsigned long loops);
17
18#define udelay(n) (__builtin_constant_p(n) ? \
19 ((n) > 20000 ? __bad_udelay() : __const_udelay((n) * 0x10c7ul)) : \
20 __udelay(n))
21
22#define ndelay(n) (__builtin_constant_p(n) ? \
23 ((n) > 20000 ? __bad_ndelay() : __const_udelay((n) * 5ul)) : \
24 __ndelay(n))
25
26#endif /* _ASM_M32R_DELAY_H */
diff --git a/arch/m32r/include/asm/mmu_context.h b/arch/m32r/include/asm/mmu_context.h
index a70a3df3363..a979a419816 100644
--- a/arch/m32r/include/asm/mmu_context.h
+++ b/arch/m32r/include/asm/mmu_context.h
@@ -11,7 +11,7 @@
11 11
12#ifndef __ASSEMBLY__ 12#ifndef __ASSEMBLY__
13 13
14#include <asm/atomic.h> 14#include <linux/atomic.h>
15#include <asm/pgalloc.h> 15#include <asm/pgalloc.h>
16#include <asm/mmu.h> 16#include <asm/mmu.h>
17#include <asm/tlbflush.h> 17#include <asm/tlbflush.h>
diff --git a/arch/m32r/include/asm/processor.h b/arch/m32r/include/asm/processor.h
index 8397c249989..e1f46d75746 100644
--- a/arch/m32r/include/asm/processor.h
+++ b/arch/m32r/include/asm/processor.h
@@ -106,7 +106,6 @@ struct thread_struct {
106 106
107#define start_thread(regs, new_pc, new_spu) \ 107#define start_thread(regs, new_pc, new_spu) \
108 do { \ 108 do { \
109 set_fs(USER_DS); \
110 regs->psw = (regs->psw | USERPS_BPSW) & 0x0000FFFFUL; \ 109 regs->psw = (regs->psw | USERPS_BPSW) & 0x0000FFFFUL; \
111 regs->bpc = new_pc; \ 110 regs->bpc = new_pc; \
112 regs->spu = new_spu; \ 111 regs->spu = new_spu; \
diff --git a/arch/m32r/include/asm/ptrace.h b/arch/m32r/include/asm/ptrace.h
index 840a1231ede..527527584dd 100644
--- a/arch/m32r/include/asm/ptrace.h
+++ b/arch/m32r/include/asm/ptrace.h
@@ -138,8 +138,6 @@ extern void init_debug_traps(struct task_struct *);
138#define instruction_pointer(regs) ((regs)->bpc) 138#define instruction_pointer(regs) ((regs)->bpc)
139#define profile_pc(regs) instruction_pointer(regs) 139#define profile_pc(regs) instruction_pointer(regs)
140 140
141extern void show_regs(struct pt_regs *);
142
143extern void withdraw_debug_trap(struct pt_regs *regs); 141extern void withdraw_debug_trap(struct pt_regs *regs);
144 142
145#define task_pt_regs(task) \ 143#define task_pt_regs(task) \
diff --git a/arch/m32r/include/asm/spinlock.h b/arch/m32r/include/asm/spinlock.h
index 179a06489b1..b0ea2f26da3 100644
--- a/arch/m32r/include/asm/spinlock.h
+++ b/arch/m32r/include/asm/spinlock.h
@@ -10,7 +10,7 @@
10 */ 10 */
11 11
12#include <linux/compiler.h> 12#include <linux/compiler.h>
13#include <asm/atomic.h> 13#include <linux/atomic.h>
14#include <asm/page.h> 14#include <asm/page.h>
15 15
16/* 16/*
diff --git a/arch/m32r/kernel/module.c b/arch/m32r/kernel/module.c
index cb5f37d78d4..3071fe83ffc 100644
--- a/arch/m32r/kernel/module.c
+++ b/arch/m32r/kernel/module.c
@@ -28,33 +28,6 @@
28#define DEBUGP(fmt...) 28#define DEBUGP(fmt...)
29#endif 29#endif
30 30
31void *module_alloc(unsigned long size)
32{
33 if (size == 0)
34 return NULL;
35#ifdef CONFIG_MMU
36 return vmalloc_exec(size);
37#else
38 return vmalloc(size);
39#endif
40}
41
42
43/* Free memory returned from module_alloc */
44void module_free(struct module *mod, void *module_region)
45{
46 vfree(module_region);
47}
48
49/* We don't need anything special. */
50int module_frob_arch_sections(Elf_Ehdr *hdr,
51 Elf_Shdr *sechdrs,
52 char *secstrings,
53 struct module *mod)
54{
55 return 0;
56}
57
58#define COPY_UNALIGNED_WORD(sw, tw, align) \ 31#define COPY_UNALIGNED_WORD(sw, tw, align) \
59{ \ 32{ \
60 void *__s = &(sw), *__t = &(tw); \ 33 void *__s = &(sw), *__t = &(tw); \
@@ -243,14 +216,3 @@ int apply_relocate(Elf32_Shdr *sechdrs,
243 return 0; 216 return 0;
244 217
245} 218}
246
247int module_finalize(const Elf_Ehdr *hdr,
248 const Elf_Shdr *sechdrs,
249 struct module *me)
250{
251 return 0;
252}
253
254void module_arch_cleanup(struct module *mod)
255{
256}
diff --git a/arch/m32r/kernel/smp.c b/arch/m32r/kernel/smp.c
index 092d40a6708..ce7aea34fdf 100644
--- a/arch/m32r/kernel/smp.c
+++ b/arch/m32r/kernel/smp.c
@@ -26,7 +26,7 @@
26 26
27#include <asm/cacheflush.h> 27#include <asm/cacheflush.h>
28#include <asm/pgalloc.h> 28#include <asm/pgalloc.h>
29#include <asm/atomic.h> 29#include <linux/atomic.h>
30#include <asm/io.h> 30#include <asm/io.h>
31#include <asm/mmu_context.h> 31#include <asm/mmu_context.h>
32#include <asm/m32r.h> 32#include <asm/m32r.h>
diff --git a/arch/m32r/kernel/syscall_table.S b/arch/m32r/kernel/syscall_table.S
index 528f2e6ad06..f365c19795e 100644
--- a/arch/m32r/kernel/syscall_table.S
+++ b/arch/m32r/kernel/syscall_table.S
@@ -168,7 +168,7 @@ ENTRY(sys_call_table)
168 .long sys_tas /* vm86 syscall holder */ 168 .long sys_tas /* vm86 syscall holder */
169 .long sys_ni_syscall /* query_module syscall holder */ 169 .long sys_ni_syscall /* query_module syscall holder */
170 .long sys_poll 170 .long sys_poll
171 .long sys_nfsservctl 171 .long sys_ni_syscall /* was nfsservctl */
172 .long sys_setresgid /* 170 */ 172 .long sys_setresgid /* 170 */
173 .long sys_getresgid 173 .long sys_getresgid
174 .long sys_prctl 174 .long sys_prctl
diff --git a/arch/m32r/kernel/traps.c b/arch/m32r/kernel/traps.c
index fbd109031df..ee6a9199561 100644
--- a/arch/m32r/kernel/traps.c
+++ b/arch/m32r/kernel/traps.c
@@ -21,7 +21,7 @@
21#include <asm/system.h> 21#include <asm/system.h>
22#include <asm/uaccess.h> 22#include <asm/uaccess.h>
23#include <asm/io.h> 23#include <asm/io.h>
24#include <asm/atomic.h> 24#include <linux/atomic.h>
25 25
26#include <asm/smp.h> 26#include <asm/smp.h>
27 27