diff options
Diffstat (limited to 'arch/m32r')
-rw-r--r-- | arch/m32r/Makefile | 2 | ||||
-rw-r--r-- | arch/m32r/include/asm/processor.h | 2 | ||||
-rw-r--r-- | arch/m32r/include/asm/signal.h | 7 | ||||
-rw-r--r-- | arch/m32r/include/asm/thread_info.h | 17 | ||||
-rw-r--r-- | arch/m32r/kernel/Makefile | 2 | ||||
-rw-r--r-- | arch/m32r/kernel/init_task.c | 34 | ||||
-rw-r--r-- | arch/m32r/kernel/signal.c | 12 | ||||
-rw-r--r-- | arch/m32r/kernel/smpboot.c | 6 |
8 files changed, 7 insertions, 75 deletions
diff --git a/arch/m32r/Makefile b/arch/m32r/Makefile index 8ff5ba0ea26c..def8dd0b6bc5 100644 --- a/arch/m32r/Makefile +++ b/arch/m32r/Makefile | |||
@@ -31,7 +31,7 @@ KBUILD_AFLAGS += $(aflags-y) | |||
31 | 31 | ||
32 | CHECKFLAGS += -D__m32r__ -D__BIG_ENDIAN__=1 | 32 | CHECKFLAGS += -D__m32r__ -D__BIG_ENDIAN__=1 |
33 | 33 | ||
34 | head-y := arch/m32r/kernel/head.o arch/m32r/kernel/init_task.o | 34 | head-y := arch/m32r/kernel/head.o |
35 | 35 | ||
36 | LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name) | 36 | LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name) |
37 | 37 | ||
diff --git a/arch/m32r/include/asm/processor.h b/arch/m32r/include/asm/processor.h index e1f46d757460..da17253b5735 100644 --- a/arch/m32r/include/asm/processor.h +++ b/arch/m32r/include/asm/processor.h | |||
@@ -118,8 +118,6 @@ struct mm_struct; | |||
118 | /* Free all resources held by a thread. */ | 118 | /* Free all resources held by a thread. */ |
119 | extern void release_thread(struct task_struct *); | 119 | extern void release_thread(struct task_struct *); |
120 | 120 | ||
121 | #define prepare_to_copy(tsk) do { } while (0) | ||
122 | |||
123 | /* | 121 | /* |
124 | * create a kernel thread without removing it from tasklists | 122 | * create a kernel thread without removing it from tasklists |
125 | */ | 123 | */ |
diff --git a/arch/m32r/include/asm/signal.h b/arch/m32r/include/asm/signal.h index b2eeb0de1c8d..ea5f95e4079e 100644 --- a/arch/m32r/include/asm/signal.h +++ b/arch/m32r/include/asm/signal.h | |||
@@ -110,13 +110,6 @@ typedef unsigned long sigset_t; | |||
110 | #include <asm-generic/signal-defs.h> | 110 | #include <asm-generic/signal-defs.h> |
111 | 111 | ||
112 | #ifdef __KERNEL__ | 112 | #ifdef __KERNEL__ |
113 | struct old_sigaction { | ||
114 | __sighandler_t sa_handler; | ||
115 | old_sigset_t sa_mask; | ||
116 | unsigned long sa_flags; | ||
117 | __sigrestore_t sa_restorer; | ||
118 | }; | ||
119 | |||
120 | struct sigaction { | 113 | struct sigaction { |
121 | __sighandler_t sa_handler; | 114 | __sighandler_t sa_handler; |
122 | unsigned long sa_flags; | 115 | unsigned long sa_flags; |
diff --git a/arch/m32r/include/asm/thread_info.h b/arch/m32r/include/asm/thread_info.h index bf8fa3c06f4e..c083f6073ef4 100644 --- a/arch/m32r/include/asm/thread_info.h +++ b/arch/m32r/include/asm/thread_info.h | |||
@@ -55,8 +55,8 @@ struct thread_info { | |||
55 | 55 | ||
56 | #define PREEMPT_ACTIVE 0x10000000 | 56 | #define PREEMPT_ACTIVE 0x10000000 |
57 | 57 | ||
58 | #define THREAD_SIZE (PAGE_SIZE << 1) | 58 | #define THREAD_SIZE (PAGE_SIZE << 1) |
59 | 59 | #define THREAD_SIZE_ORDER 1 | |
60 | /* | 60 | /* |
61 | * macros/functions for gaining access to the thread information structure | 61 | * macros/functions for gaining access to the thread information structure |
62 | */ | 62 | */ |
@@ -92,19 +92,6 @@ static inline struct thread_info *current_thread_info(void) | |||
92 | return ti; | 92 | return ti; |
93 | } | 93 | } |
94 | 94 | ||
95 | #define __HAVE_ARCH_THREAD_INFO_ALLOCATOR | ||
96 | |||
97 | /* thread information allocation */ | ||
98 | #ifdef CONFIG_DEBUG_STACK_USAGE | ||
99 | #define alloc_thread_info_node(tsk, node) \ | ||
100 | kzalloc_node(THREAD_SIZE, GFP_KERNEL, node) | ||
101 | #else | ||
102 | #define alloc_thread_info_node(tsk, node) \ | ||
103 | kmalloc_node(THREAD_SIZE, GFP_KERNEL, node) | ||
104 | #endif | ||
105 | |||
106 | #define free_thread_info(info) kfree(info) | ||
107 | |||
108 | #define TI_FLAG_FAULT_CODE_SHIFT 28 | 95 | #define TI_FLAG_FAULT_CODE_SHIFT 28 |
109 | 96 | ||
110 | static inline void set_thread_fault_code(unsigned int val) | 97 | static inline void set_thread_fault_code(unsigned int val) |
diff --git a/arch/m32r/kernel/Makefile b/arch/m32r/kernel/Makefile index b1a4b6036591..0c09dad8b1f8 100644 --- a/arch/m32r/kernel/Makefile +++ b/arch/m32r/kernel/Makefile | |||
@@ -2,7 +2,7 @@ | |||
2 | # Makefile for the Linux/M32R kernel. | 2 | # Makefile for the Linux/M32R kernel. |
3 | # | 3 | # |
4 | 4 | ||
5 | extra-y := head.o init_task.o vmlinux.lds | 5 | extra-y := head.o vmlinux.lds |
6 | 6 | ||
7 | obj-y := process.o entry.o traps.o align.o irq.o setup.o time.o \ | 7 | obj-y := process.o entry.o traps.o align.o irq.o setup.o time.o \ |
8 | m32r_ksyms.o sys_m32r.o signal.o ptrace.o | 8 | m32r_ksyms.o sys_m32r.o signal.o ptrace.o |
diff --git a/arch/m32r/kernel/init_task.c b/arch/m32r/kernel/init_task.c deleted file mode 100644 index 6c42d5f8df50..000000000000 --- a/arch/m32r/kernel/init_task.c +++ /dev/null | |||
@@ -1,34 +0,0 @@ | |||
1 | /* orig : i386 init_task.c */ | ||
2 | |||
3 | #include <linux/mm.h> | ||
4 | #include <linux/module.h> | ||
5 | #include <linux/sched.h> | ||
6 | #include <linux/init.h> | ||
7 | #include <linux/init_task.h> | ||
8 | #include <linux/fs.h> | ||
9 | #include <linux/mqueue.h> | ||
10 | |||
11 | #include <asm/uaccess.h> | ||
12 | #include <asm/pgtable.h> | ||
13 | |||
14 | static struct signal_struct init_signals = INIT_SIGNALS(init_signals); | ||
15 | static struct sighand_struct init_sighand = INIT_SIGHAND(init_sighand); | ||
16 | /* | ||
17 | * Initial thread structure. | ||
18 | * | ||
19 | * We need to make sure that this is 8192-byte aligned due to the | ||
20 | * way process stacks are handled. This is done by having a special | ||
21 | * "init_task" linker map entry.. | ||
22 | */ | ||
23 | union thread_union init_thread_union __init_task_data = | ||
24 | { INIT_THREAD_INFO(init_task) }; | ||
25 | |||
26 | /* | ||
27 | * Initial task structure. | ||
28 | * | ||
29 | * All other task structs will be allocated on slabs in fork.c | ||
30 | */ | ||
31 | struct task_struct init_task = INIT_TASK(init_task); | ||
32 | |||
33 | EXPORT_SYMBOL(init_task); | ||
34 | |||
diff --git a/arch/m32r/kernel/signal.c b/arch/m32r/kernel/signal.c index a08697f0886d..f54d96993ea1 100644 --- a/arch/m32r/kernel/signal.c +++ b/arch/m32r/kernel/signal.c | |||
@@ -112,10 +112,7 @@ sys_rt_sigreturn(unsigned long r0, unsigned long r1, | |||
112 | goto badframe; | 112 | goto badframe; |
113 | 113 | ||
114 | sigdelsetmask(&set, ~_BLOCKABLE); | 114 | sigdelsetmask(&set, ~_BLOCKABLE); |
115 | spin_lock_irq(¤t->sighand->siglock); | 115 | set_current_blocked(&set); |
116 | current->blocked = set; | ||
117 | recalc_sigpending(); | ||
118 | spin_unlock_irq(¤t->sighand->siglock); | ||
119 | 116 | ||
120 | if (restore_sigcontext(regs, &frame->uc.uc_mcontext, &result)) | 117 | if (restore_sigcontext(regs, &frame->uc.uc_mcontext, &result)) |
121 | goto badframe; | 118 | goto badframe; |
@@ -300,12 +297,7 @@ handle_signal(unsigned long sig, struct k_sigaction *ka, siginfo_t *info, | |||
300 | if (setup_rt_frame(sig, ka, info, oldset, regs)) | 297 | if (setup_rt_frame(sig, ka, info, oldset, regs)) |
301 | return -EFAULT; | 298 | return -EFAULT; |
302 | 299 | ||
303 | spin_lock_irq(¤t->sighand->siglock); | 300 | block_sigmask(ka, sig); |
304 | sigorsets(¤t->blocked,¤t->blocked,&ka->sa.sa_mask); | ||
305 | if (!(ka->sa.sa_flags & SA_NODEFER)) | ||
306 | sigaddset(¤t->blocked,sig); | ||
307 | recalc_sigpending(); | ||
308 | spin_unlock_irq(¤t->sighand->siglock); | ||
309 | return 0; | 301 | return 0; |
310 | } | 302 | } |
311 | 303 | ||
diff --git a/arch/m32r/kernel/smpboot.c b/arch/m32r/kernel/smpboot.c index cfdbe5d15002..a2cfc0abb05c 100644 --- a/arch/m32r/kernel/smpboot.c +++ b/arch/m32r/kernel/smpboot.c | |||
@@ -109,12 +109,8 @@ static unsigned int calibration_result; | |||
109 | /* Function Prototypes */ | 109 | /* Function Prototypes */ |
110 | /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/ | 110 | /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/ |
111 | 111 | ||
112 | void smp_prepare_boot_cpu(void); | ||
113 | void smp_prepare_cpus(unsigned int); | ||
114 | static void init_ipi_lock(void); | 112 | static void init_ipi_lock(void); |
115 | static void do_boot_cpu(int); | 113 | static void do_boot_cpu(int); |
116 | int __cpu_up(unsigned int); | ||
117 | void smp_cpus_done(unsigned int); | ||
118 | 114 | ||
119 | int start_secondary(void *); | 115 | int start_secondary(void *); |
120 | static void smp_callin(void); | 116 | static void smp_callin(void); |
@@ -347,7 +343,7 @@ static void __init do_boot_cpu(int phys_id) | |||
347 | } | 343 | } |
348 | } | 344 | } |
349 | 345 | ||
350 | int __cpuinit __cpu_up(unsigned int cpu_id) | 346 | int __cpuinit __cpu_up(unsigned int cpu_id, struct task_struct *tidle) |
351 | { | 347 | { |
352 | int timeout; | 348 | int timeout; |
353 | 349 | ||