diff options
| author | Richard Weinberger <richard@nod.at> | 2014-07-13 11:28:15 -0400 |
|---|---|---|
| committer | Richard Weinberger <richard@nod.at> | 2015-04-12 14:58:25 -0400 |
| commit | 78d156b8d8e5884cb5af07f9e57a45a1ae5d59cf (patch) | |
| tree | 629cd67b897f8eae391f29dddb4103ddc2ef668e | |
| parent | 6140de5aae4a490e7320215b4197874e37e0969c (diff) | |
mn10300: 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>
| -rw-r--r-- | arch/mn10300/include/asm/thread_info.h | 2 | ||||
| -rw-r--r-- | arch/mn10300/kernel/asm-offsets.c | 2 | ||||
| -rw-r--r-- | arch/mn10300/kernel/signal.c | 20 |
3 files changed, 4 insertions, 20 deletions
diff --git a/arch/mn10300/include/asm/thread_info.h b/arch/mn10300/include/asm/thread_info.h index c1c374f0ec12..4861a78c7160 100644 --- a/arch/mn10300/include/asm/thread_info.h +++ b/arch/mn10300/include/asm/thread_info.h | |||
| @@ -40,7 +40,6 @@ typedef struct { | |||
| 40 | 40 | ||
| 41 | struct thread_info { | 41 | struct thread_info { |
| 42 | struct task_struct *task; /* main task structure */ | 42 | struct task_struct *task; /* main task structure */ |
| 43 | struct exec_domain *exec_domain; /* execution domain */ | ||
| 44 | struct pt_regs *frame; /* current exception frame */ | 43 | struct pt_regs *frame; /* current exception frame */ |
| 45 | unsigned long flags; /* low level flags */ | 44 | unsigned long flags; /* low level flags */ |
| 46 | __u32 cpu; /* current CPU */ | 45 | __u32 cpu; /* current CPU */ |
| @@ -74,7 +73,6 @@ struct thread_info { | |||
| 74 | #define INIT_THREAD_INFO(tsk) \ | 73 | #define INIT_THREAD_INFO(tsk) \ |
| 75 | { \ | 74 | { \ |
| 76 | .task = &tsk, \ | 75 | .task = &tsk, \ |
| 77 | .exec_domain = &default_exec_domain, \ | ||
| 78 | .flags = 0, \ | 76 | .flags = 0, \ |
| 79 | .cpu = 0, \ | 77 | .cpu = 0, \ |
| 80 | .preempt_count = INIT_PREEMPT_COUNT, \ | 78 | .preempt_count = INIT_PREEMPT_COUNT, \ |
diff --git a/arch/mn10300/kernel/asm-offsets.c b/arch/mn10300/kernel/asm-offsets.c index d780670cbaf3..e5a61c659b5a 100644 --- a/arch/mn10300/kernel/asm-offsets.c +++ b/arch/mn10300/kernel/asm-offsets.c | |||
| @@ -22,7 +22,6 @@ void foo(void) | |||
| 22 | BLANK(); | 22 | BLANK(); |
| 23 | 23 | ||
| 24 | OFFSET(TI_task, thread_info, task); | 24 | OFFSET(TI_task, thread_info, task); |
| 25 | OFFSET(TI_exec_domain, thread_info, exec_domain); | ||
| 26 | OFFSET(TI_frame, thread_info, frame); | 25 | OFFSET(TI_frame, thread_info, frame); |
| 27 | OFFSET(TI_flags, thread_info, flags); | 26 | OFFSET(TI_flags, thread_info, flags); |
| 28 | OFFSET(TI_cpu, thread_info, cpu); | 27 | OFFSET(TI_cpu, thread_info, cpu); |
| @@ -85,7 +84,6 @@ void foo(void) | |||
| 85 | DEFINE(SIGCHLD_asm, SIGCHLD); | 84 | DEFINE(SIGCHLD_asm, SIGCHLD); |
| 86 | BLANK(); | 85 | BLANK(); |
| 87 | 86 | ||
| 88 | OFFSET(EXEC_DOMAIN_handler, exec_domain, handler); | ||
| 89 | OFFSET(RT_SIGFRAME_sigcontext, rt_sigframe, uc.uc_mcontext); | 87 | OFFSET(RT_SIGFRAME_sigcontext, rt_sigframe, uc.uc_mcontext); |
| 90 | 88 | ||
| 91 | DEFINE(PAGE_SIZE_asm, PAGE_SIZE); | 89 | DEFINE(PAGE_SIZE_asm, PAGE_SIZE); |
diff --git a/arch/mn10300/kernel/signal.c b/arch/mn10300/kernel/signal.c index 8609845f12c5..dfd0301cf200 100644 --- a/arch/mn10300/kernel/signal.c +++ b/arch/mn10300/kernel/signal.c | |||
| @@ -202,20 +202,14 @@ static int setup_frame(struct ksignal *ksig, sigset_t *set, | |||
| 202 | struct pt_regs *regs) | 202 | struct pt_regs *regs) |
| 203 | { | 203 | { |
| 204 | struct sigframe __user *frame; | 204 | struct sigframe __user *frame; |
| 205 | int rsig, sig = ksig->sig; | 205 | int sig = ksig->sig; |
| 206 | 206 | ||
| 207 | frame = get_sigframe(ksig, regs, sizeof(*frame)); | 207 | frame = get_sigframe(ksig, regs, sizeof(*frame)); |
| 208 | 208 | ||
| 209 | if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) | 209 | if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) |
| 210 | return -EFAULT; | 210 | return -EFAULT; |
| 211 | 211 | ||
| 212 | rsig = sig; | 212 | if (__put_user(sig, &frame->sig) < 0 || |
| 213 | if (sig < 32 && | ||
| 214 | current_thread_info()->exec_domain && | ||
| 215 | current_thread_info()->exec_domain->signal_invmap) | ||
| 216 | rsig = current_thread_info()->exec_domain->signal_invmap[sig]; | ||
| 217 | |||
| 218 | if (__put_user(rsig, &frame->sig) < 0 || | ||
| 219 | __put_user(&frame->sc, &frame->psc) < 0) | 213 | __put_user(&frame->sc, &frame->psc) < 0) |
| 220 | return -EFAULT; | 214 | return -EFAULT; |
| 221 | 215 | ||
| @@ -270,20 +264,14 @@ static int setup_rt_frame(struct ksignal *ksig, sigset_t *set, | |||
| 270 | struct pt_regs *regs) | 264 | struct pt_regs *regs) |
| 271 | { | 265 | { |
| 272 | struct rt_sigframe __user *frame; | 266 | struct rt_sigframe __user *frame; |
| 273 | int rsig, sig = ksig->sig; | 267 | int sig = ksig->sig; |
| 274 | 268 | ||
| 275 | frame = get_sigframe(ksig, regs, sizeof(*frame)); | 269 | frame = get_sigframe(ksig, regs, sizeof(*frame)); |
| 276 | 270 | ||
| 277 | if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) | 271 | if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) |
| 278 | return -EFAULT; | 272 | return -EFAULT; |
| 279 | 273 | ||
| 280 | rsig = sig; | 274 | if (__put_user(sig, &frame->sig) || |
| 281 | if (sig < 32 && | ||
| 282 | current_thread_info()->exec_domain && | ||
| 283 | current_thread_info()->exec_domain->signal_invmap) | ||
| 284 | rsig = current_thread_info()->exec_domain->signal_invmap[sig]; | ||
| 285 | |||
| 286 | if (__put_user(rsig, &frame->sig) || | ||
| 287 | __put_user(&frame->info, &frame->pinfo) || | 275 | __put_user(&frame->info, &frame->pinfo) || |
| 288 | __put_user(&frame->uc, &frame->puc) || | 276 | __put_user(&frame->uc, &frame->puc) || |
| 289 | copy_siginfo_to_user(&frame->info, &ksig->info)) | 277 | copy_siginfo_to_user(&frame->info, &ksig->info)) |
