aboutsummaryrefslogtreecommitdiffstats
path: root/arch/m32r
diff options
context:
space:
mode:
authorRichard Weinberger <richard@nod.at>2014-07-13 11:18:15 -0400
committerRichard Weinberger <richard@nod.at>2015-04-12 14:58:25 -0400
commit445a626afb7f8050ac290fee89d4d9d2ce43b3f2 (patch)
tree9dd2dba20d4469e16c2745824a72d037c9ef9266 /arch/m32r
parent37f078ff4c97ad143a6dc2adae31e20a3f780ca7 (diff)
m32r: Remove signal translation and exec_domain
As execution domain support is gone we can remove signal translation from the signal code and remove exec_domain from thread_info. Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'arch/m32r')
-rw-r--r--arch/m32r/include/asm/thread_info.h2
-rw-r--r--arch/m32r/kernel/signal.c12
2 files changed, 3 insertions, 11 deletions
diff --git a/arch/m32r/include/asm/thread_info.h b/arch/m32r/include/asm/thread_info.h
index 034d1ab13029..f630d9c30b28 100644
--- a/arch/m32r/include/asm/thread_info.h
+++ b/arch/m32r/include/asm/thread_info.h
@@ -24,7 +24,6 @@
24 24
25struct thread_info { 25struct thread_info {
26 struct task_struct *task; /* main task structure */ 26 struct task_struct *task; /* main task structure */
27 struct exec_domain *exec_domain; /* execution domain */
28 unsigned long flags; /* low level flags */ 27 unsigned long flags; /* low level flags */
29 unsigned long status; /* thread-synchronous flags */ 28 unsigned long status; /* thread-synchronous flags */
30 __u32 cpu; /* current CPU */ 29 __u32 cpu; /* current CPU */
@@ -50,7 +49,6 @@ struct thread_info {
50#define INIT_THREAD_INFO(tsk) \ 49#define INIT_THREAD_INFO(tsk) \
51{ \ 50{ \
52 .task = &tsk, \ 51 .task = &tsk, \
53 .exec_domain = &default_exec_domain, \
54 .flags = 0, \ 52 .flags = 0, \
55 .cpu = 0, \ 53 .cpu = 0, \
56 .preempt_count = INIT_PREEMPT_COUNT, \ 54 .preempt_count = INIT_PREEMPT_COUNT, \
diff --git a/arch/m32r/kernel/signal.c b/arch/m32r/kernel/signal.c
index 7736c6660a15..318d8fdaa56b 100644
--- a/arch/m32r/kernel/signal.c
+++ b/arch/m32r/kernel/signal.c
@@ -172,20 +172,14 @@ static int setup_rt_frame(struct ksignal *ksig, sigset_t *set,
172{ 172{
173 struct rt_sigframe __user *frame; 173 struct rt_sigframe __user *frame;
174 int err = 0; 174 int err = 0;
175 int signal, sig = ksig->sig; 175 int sig = ksig->sig;
176 176
177 frame = get_sigframe(ksig, regs->spu, sizeof(*frame)); 177 frame = get_sigframe(ksig, regs->spu, sizeof(*frame));
178 178
179 if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) 179 if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame)))
180 return -EFAULT; 180 return -EFAULT;
181 181
182 signal = current_thread_info()->exec_domain 182 err |= __put_user(sig, &frame->sig);
183 && current_thread_info()->exec_domain->signal_invmap
184 && sig < 32
185 ? current_thread_info()->exec_domain->signal_invmap[sig]
186 : sig;
187
188 err |= __put_user(signal, &frame->sig);
189 if (err) 183 if (err)
190 return -EFAULT; 184 return -EFAULT;
191 185
@@ -209,7 +203,7 @@ static int setup_rt_frame(struct ksignal *ksig, sigset_t *set,
209 203
210 /* Set up registers for signal handler */ 204 /* Set up registers for signal handler */
211 regs->spu = (unsigned long)frame; 205 regs->spu = (unsigned long)frame;
212 regs->r0 = signal; /* Arg for signal handler */ 206 regs->r0 = sig; /* Arg for signal handler */
213 regs->r1 = (unsigned long)&frame->info; 207 regs->r1 = (unsigned long)&frame->info;
214 regs->r2 = (unsigned long)&frame->uc; 208 regs->r2 = (unsigned long)&frame->uc;
215 regs->bpc = (unsigned long)ksig->ka.sa.sa_handler; 209 regs->bpc = (unsigned long)ksig->ka.sa.sa_handler;