aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m32r
diff options
context:
space:
mode:
Diffstat (limited to 'arch/m32r')
-rw-r--r--arch/m32r/Makefile2
-rw-r--r--arch/m32r/include/asm/processor.h2
-rw-r--r--arch/m32r/include/asm/signal.h7
-rw-r--r--arch/m32r/include/asm/thread_info.h17
-rw-r--r--arch/m32r/kernel/Makefile2
-rw-r--r--arch/m32r/kernel/init_task.c34
-rw-r--r--arch/m32r/kernel/signal.c12
-rw-r--r--arch/m32r/kernel/smpboot.c6
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
32CHECKFLAGS += -D__m32r__ -D__BIG_ENDIAN__=1 32CHECKFLAGS += -D__m32r__ -D__BIG_ENDIAN__=1
33 33
34head-y := arch/m32r/kernel/head.o arch/m32r/kernel/init_task.o 34head-y := arch/m32r/kernel/head.o
35 35
36LIBGCC := $(shell $(CC) $(KBUILD_CFLAGS) -print-libgcc-file-name) 36LIBGCC := $(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. */
119extern void release_thread(struct task_struct *); 119extern 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__
113struct 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
120struct sigaction { 113struct 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
110static inline void set_thread_fault_code(unsigned int val) 97static 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
5extra-y := head.o init_task.o vmlinux.lds 5extra-y := head.o vmlinux.lds
6 6
7obj-y := process.o entry.o traps.o align.o irq.o setup.o time.o \ 7obj-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
14static struct signal_struct init_signals = INIT_SIGNALS(init_signals);
15static 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 */
23union 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 */
31struct task_struct init_task = INIT_TASK(init_task);
32
33EXPORT_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(&current->sighand->siglock); 115 set_current_blocked(&set);
116 current->blocked = set;
117 recalc_sigpending();
118 spin_unlock_irq(&current->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(&current->sighand->siglock); 300 block_sigmask(ka, sig);
304 sigorsets(&current->blocked,&current->blocked,&ka->sa.sa_mask);
305 if (!(ka->sa.sa_flags & SA_NODEFER))
306 sigaddset(&current->blocked,sig);
307 recalc_sigpending();
308 spin_unlock_irq(&current->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
112void smp_prepare_boot_cpu(void);
113void smp_prepare_cpus(unsigned int);
114static void init_ipi_lock(void); 112static void init_ipi_lock(void);
115static void do_boot_cpu(int); 113static void do_boot_cpu(int);
116int __cpu_up(unsigned int);
117void smp_cpus_done(unsigned int);
118 114
119int start_secondary(void *); 115int start_secondary(void *);
120static void smp_callin(void); 116static void smp_callin(void);
@@ -347,7 +343,7 @@ static void __init do_boot_cpu(int phys_id)
347 } 343 }
348} 344}
349 345
350int __cpuinit __cpu_up(unsigned int cpu_id) 346int __cpuinit __cpu_up(unsigned int cpu_id, struct task_struct *tidle)
351{ 347{
352 int timeout; 348 int timeout;
353 349