aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorRichard Weinberger <richard@nod.at>2014-07-13 11:45:11 -0400
committerRichard Weinberger <richard@nod.at>2015-04-12 15:03:29 -0400
commit3e66701cbda2e04bb62e0afe2f3d86c9d3d76b24 (patch)
treecf928b14a34caee9e4d65b8e72366a267cd65b8d /arch
parentcb418fdb33feba951187f6e01e9f78d3cd2dacbb (diff)
xtensa: 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')
-rw-r--r--arch/xtensa/include/asm/thread_info.h2
-rw-r--r--arch/xtensa/kernel/signal.c11
2 files changed, 2 insertions, 11 deletions
diff --git a/arch/xtensa/include/asm/thread_info.h b/arch/xtensa/include/asm/thread_info.h
index baa1f279f59f..9ad12c617184 100644
--- a/arch/xtensa/include/asm/thread_info.h
+++ b/arch/xtensa/include/asm/thread_info.h
@@ -44,7 +44,6 @@ typedef struct xtregs_coprocessor {
44 44
45struct thread_info { 45struct thread_info {
46 struct task_struct *task; /* main task structure */ 46 struct task_struct *task; /* main task structure */
47 struct exec_domain *exec_domain; /* execution domain */
48 unsigned long flags; /* low level flags */ 47 unsigned long flags; /* low level flags */
49 unsigned long status; /* thread-synchronous flags */ 48 unsigned long status; /* thread-synchronous flags */
50 __u32 cpu; /* current CPU */ 49 __u32 cpu; /* current CPU */
@@ -72,7 +71,6 @@ struct thread_info {
72#define INIT_THREAD_INFO(tsk) \ 71#define INIT_THREAD_INFO(tsk) \
73{ \ 72{ \
74 .task = &tsk, \ 73 .task = &tsk, \
75 .exec_domain = &default_exec_domain, \
76 .flags = 0, \ 74 .flags = 0, \
77 .cpu = 0, \ 75 .cpu = 0, \
78 .preempt_count = INIT_PREEMPT_COUNT, \ 76 .preempt_count = INIT_PREEMPT_COUNT, \
diff --git a/arch/xtensa/kernel/signal.c b/arch/xtensa/kernel/signal.c
index 3d733ba16f28..1785c4dae1ce 100644
--- a/arch/xtensa/kernel/signal.c
+++ b/arch/xtensa/kernel/signal.c
@@ -336,7 +336,6 @@ static int setup_frame(struct ksignal *ksig, sigset_t *set,
336{ 336{
337 struct rt_sigframe *frame; 337 struct rt_sigframe *frame;
338 int err = 0, sig = ksig->sig; 338 int err = 0, sig = ksig->sig;
339 int signal;
340 unsigned long sp, ra, tp; 339 unsigned long sp, ra, tp;
341 340
342 sp = regs->areg[1]; 341 sp = regs->areg[1];
@@ -354,12 +353,6 @@ static int setup_frame(struct ksignal *ksig, sigset_t *set,
354 return -EFAULT; 353 return -EFAULT;
355 } 354 }
356 355
357 signal = current_thread_info()->exec_domain
358 && current_thread_info()->exec_domain->signal_invmap
359 && sig < 32
360 ? current_thread_info()->exec_domain->signal_invmap[sig]
361 : sig;
362
363 if (ksig->ka.sa.sa_flags & SA_SIGINFO) { 356 if (ksig->ka.sa.sa_flags & SA_SIGINFO) {
364 err |= copy_siginfo_to_user(&frame->info, &ksig->info); 357 err |= copy_siginfo_to_user(&frame->info, &ksig->info);
365 } 358 }
@@ -400,7 +393,7 @@ static int setup_frame(struct ksignal *ksig, sigset_t *set,
400 * Note: PS.CALLINC is set to one by start_thread 393 * Note: PS.CALLINC is set to one by start_thread
401 */ 394 */
402 regs->areg[4] = (((unsigned long) ra) & 0x3fffffff) | 0x40000000; 395 regs->areg[4] = (((unsigned long) ra) & 0x3fffffff) | 0x40000000;
403 regs->areg[6] = (unsigned long) signal; 396 regs->areg[6] = (unsigned long) sig;
404 regs->areg[7] = (unsigned long) &frame->info; 397 regs->areg[7] = (unsigned long) &frame->info;
405 regs->areg[8] = (unsigned long) &frame->uc; 398 regs->areg[8] = (unsigned long) &frame->uc;
406 regs->threadptr = tp; 399 regs->threadptr = tp;
@@ -412,7 +405,7 @@ static int setup_frame(struct ksignal *ksig, sigset_t *set,
412 405
413#if DEBUG_SIG 406#if DEBUG_SIG
414 printk("SIG rt deliver (%s:%d): signal=%d sp=%p pc=%08x\n", 407 printk("SIG rt deliver (%s:%d): signal=%d sp=%p pc=%08x\n",
415 current->comm, current->pid, signal, frame, regs->pc); 408 current->comm, current->pid, sig, frame, regs->pc);
416#endif 409#endif
417 410
418 return 0; 411 return 0;