xtensa: Remove signal translation and exec_domain
authorRichard Weinberger <richard@nod.at>
Sun, 13 Jul 2014 15:45:11 +0000 (17:45 +0200)
committerRichard Weinberger <richard@nod.at>
Sun, 12 Apr 2015 19:03:29 +0000 (21:03 +0200)
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>
arch/xtensa/include/asm/thread_info.h
arch/xtensa/kernel/signal.c

index baa1f27..9ad12c6 100644 (file)
@@ -44,7 +44,6 @@ typedef struct xtregs_coprocessor {
 
 struct thread_info {
        struct task_struct      *task;          /* main task structure */
-       struct exec_domain      *exec_domain;   /* execution domain */
        unsigned long           flags;          /* low level flags */
        unsigned long           status;         /* thread-synchronous flags */
        __u32                   cpu;            /* current CPU */
@@ -72,7 +71,6 @@ struct thread_info {
 #define INIT_THREAD_INFO(tsk)                  \
 {                                              \
        .task           = &tsk,                 \
-       .exec_domain    = &default_exec_domain, \
        .flags          = 0,                    \
        .cpu            = 0,                    \
        .preempt_count  = INIT_PREEMPT_COUNT,   \
index 3d733ba..1785c4d 100644 (file)
@@ -336,7 +336,6 @@ static int setup_frame(struct ksignal *ksig, sigset_t *set,
 {
        struct rt_sigframe *frame;
        int err = 0, sig = ksig->sig;
-       int signal;
        unsigned long sp, ra, tp;
 
        sp = regs->areg[1];
@@ -354,12 +353,6 @@ static int setup_frame(struct ksignal *ksig, sigset_t *set,
                return -EFAULT;
        }
 
-       signal = current_thread_info()->exec_domain
-               && current_thread_info()->exec_domain->signal_invmap
-               && sig < 32
-               ? current_thread_info()->exec_domain->signal_invmap[sig]
-               : sig;
-
        if (ksig->ka.sa.sa_flags & SA_SIGINFO) {
                err |= copy_siginfo_to_user(&frame->info, &ksig->info);
        }
@@ -400,7 +393,7 @@ static int setup_frame(struct ksignal *ksig, sigset_t *set,
         * Note: PS.CALLINC is set to one by start_thread
         */
        regs->areg[4] = (((unsigned long) ra) & 0x3fffffff) | 0x40000000;
-       regs->areg[6] = (unsigned long) signal;
+       regs->areg[6] = (unsigned long) sig;
        regs->areg[7] = (unsigned long) &frame->info;
        regs->areg[8] = (unsigned long) &frame->uc;
        regs->threadptr = tp;
@@ -412,7 +405,7 @@ static int setup_frame(struct ksignal *ksig, sigset_t *set,
 
 #if DEBUG_SIG
        printk("SIG rt deliver (%s:%d): signal=%d sp=%p pc=%08x\n",
-               current->comm, current->pid, signal, frame, regs->pc);
+               current->comm, current->pid, sig, frame, regs->pc);
 #endif
 
        return 0;