]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
s390: Remove signal translation and exec_domain
authorRichard Weinberger <richard@nod.at>
Tue, 9 Sep 2014 21:50:11 +0000 (23:50 +0200)
committerRichard Weinberger <richard@nod.at>
Sun, 12 Apr 2015 18:58:25 +0000 (20:58 +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/s390/include/asm/thread_info.h
arch/s390/kernel/asm-offsets.c
arch/s390/kernel/compat_signal.c
arch/s390/kernel/signal.c

index ef1df718642d209441b07921621dbd9ad94396eb..0a6dcff94cdecb5045be61586b2858925ee3dbd8 100644 (file)
@@ -34,7 +34,6 @@
  */
 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           sys_call_table; /* System call table address */
        unsigned int            cpu;            /* current CPU */
@@ -51,7 +50,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 e07e91605353003084ff19511c1c520e8bca1dd7..e52a202b13b58f477cc7c4dd1273a8490b4f6e9a 100644 (file)
@@ -34,7 +34,6 @@ int main(void)
        DEFINE(__THREAD_per_paid, offsetof(struct task_struct, thread.per_event.paid));
        BLANK();
        DEFINE(__TI_task, offsetof(struct thread_info, task));
-       DEFINE(__TI_domain, offsetof(struct thread_info, exec_domain));
        DEFINE(__TI_flags, offsetof(struct thread_info, flags));
        DEFINE(__TI_sysc_table, offsetof(struct thread_info, sys_call_table));
        DEFINE(__TI_cpu, offsetof(struct thread_info, cpu));
index bc1df12dd4f8160df92580d5e04a6a5f76e08608..fe8d6924efaa8f00205c8c2755bdc64f17d0e8ba 100644 (file)
@@ -370,16 +370,6 @@ get_sigframe(struct k_sigaction *ka, struct pt_regs * regs, size_t frame_size)
        return (void __user *)((sp - frame_size) & -8ul);
 }
 
-static inline int map_signal(int sig)
-{
-       if (current_thread_info()->exec_domain
-           && current_thread_info()->exec_domain->signal_invmap
-           && sig < 32)
-               return current_thread_info()->exec_domain->signal_invmap[sig];
-        else
-               return sig;
-}
-
 static int setup_frame32(struct ksignal *ksig, sigset_t *set,
                         struct pt_regs *regs)
 {
@@ -449,7 +439,7 @@ static int setup_frame32(struct ksignal *ksig, sigset_t *set,
                (regs->psw.mask & ~PSW_MASK_ASC);
        regs->psw.addr = (__force __u64) ksig->ka.sa.sa_handler;
 
-       regs->gprs[2] = map_signal(sig);
+       regs->gprs[2] = sig;
        regs->gprs[3] = (__force __u64) &frame->sc;
 
        /* We forgot to include these in the sigcontext.
@@ -532,7 +522,7 @@ static int setup_rt_frame32(struct ksignal *ksig, sigset_t *set,
                (regs->psw.mask & ~PSW_MASK_ASC);
        regs->psw.addr = (__u64 __force) ksig->ka.sa.sa_handler;
 
-       regs->gprs[2] = map_signal(ksig->sig);
+       regs->gprs[2] = ksig->sig;
        regs->gprs[3] = (__force __u64) &frame->info;
        regs->gprs[4] = (__force __u64) &frame->uc;
        regs->gprs[5] = task_thread_info(current)->last_break;
index b3ae6f70c6d64bf66c4382da3381177f8226b90e..c3f71c4f7b714be3ca730bdb7fa64a5212dc2ae7 100644 (file)
@@ -309,16 +309,6 @@ get_sigframe(struct k_sigaction *ka, struct pt_regs * regs, size_t frame_size)
        return (void __user *)((sp - frame_size) & -8ul);
 }
 
-static inline int map_signal(int sig)
-{
-       if (current_thread_info()->exec_domain
-           && current_thread_info()->exec_domain->signal_invmap
-           && sig < 32)
-               return current_thread_info()->exec_domain->signal_invmap[sig];
-       else
-               return sig;
-}
-
 static int setup_frame(int sig, struct k_sigaction *ka,
                       sigset_t *set, struct pt_regs * regs)
 {
@@ -386,7 +376,7 @@ static int setup_frame(int sig, struct k_sigaction *ka,
                (regs->psw.mask & ~PSW_MASK_ASC);
        regs->psw.addr = (unsigned long) ka->sa.sa_handler | PSW_ADDR_AMODE;
 
-       regs->gprs[2] = map_signal(sig);
+       regs->gprs[2] = sig;
        regs->gprs[3] = (unsigned long) &frame->sc;
 
        /* We forgot to include these in the sigcontext.
@@ -468,7 +458,7 @@ static int setup_rt_frame(struct ksignal *ksig, sigset_t *set,
                (regs->psw.mask & ~PSW_MASK_ASC);
        regs->psw.addr = (unsigned long) ksig->ka.sa.sa_handler | PSW_ADDR_AMODE;
 
-       regs->gprs[2] = map_signal(ksig->sig);
+       regs->gprs[2] = ksig->sig;
        regs->gprs[3] = (unsigned long) &frame->info;
        regs->gprs[4] = (unsigned long) &frame->uc;
        regs->gprs[5] = task_thread_info(current)->last_break;