aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Weinberger <richard@nod.at>2015-03-27 04:55:52 -0400
committerRichard Weinberger <richard@nod.at>2015-04-12 15:03:30 -0400
commite6de3ca91cd7ee252ef271c96a4c480c1f3e071e (patch)
treeb3109e4f1341573644ffce774b67f255c175458a
parent3e66701cbda2e04bb62e0afe2f3d86c9d3d76b24 (diff)
arc: 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/arc/include/asm/thread_info.h2
-rw-r--r--arch/arc/kernel/signal.c14
2 files changed, 1 insertions, 15 deletions
diff --git a/arch/arc/include/asm/thread_info.h b/arch/arc/include/asm/thread_info.h
index 1163a1838ac1..aca0d5a45c7b 100644
--- a/arch/arc/include/asm/thread_info.h
+++ b/arch/arc/include/asm/thread_info.h
@@ -43,7 +43,6 @@ struct thread_info {
43 int preempt_count; /* 0 => preemptable, <0 => BUG */ 43 int preempt_count; /* 0 => preemptable, <0 => BUG */
44 struct task_struct *task; /* main task structure */ 44 struct task_struct *task; /* main task structure */
45 mm_segment_t addr_limit; /* thread address space */ 45 mm_segment_t addr_limit; /* thread address space */
46 struct exec_domain *exec_domain;/* execution domain */
47 __u32 cpu; /* current CPU */ 46 __u32 cpu; /* current CPU */
48 unsigned long thr_ptr; /* TLS ptr */ 47 unsigned long thr_ptr; /* TLS ptr */
49}; 48};
@@ -56,7 +55,6 @@ struct thread_info {
56#define INIT_THREAD_INFO(tsk) \ 55#define INIT_THREAD_INFO(tsk) \
57{ \ 56{ \
58 .task = &tsk, \ 57 .task = &tsk, \
59 .exec_domain = &default_exec_domain, \
60 .flags = 0, \ 58 .flags = 0, \
61 .cpu = 0, \ 59 .cpu = 0, \
62 .preempt_count = INIT_PREEMPT_COUNT, \ 60 .preempt_count = INIT_PREEMPT_COUNT, \
diff --git a/arch/arc/kernel/signal.c b/arch/arc/kernel/signal.c
index edda76fae83f..2251fb4bbfd7 100644
--- a/arch/arc/kernel/signal.c
+++ b/arch/arc/kernel/signal.c
@@ -171,18 +171,6 @@ static inline void __user *get_sigframe(struct ksignal *ksig,
171 return frame; 171 return frame;
172} 172}
173 173
174/*
175 * translate the signal
176 */
177static inline int map_sig(int sig)
178{
179 struct thread_info *thread = current_thread_info();
180 if (thread->exec_domain && thread->exec_domain->signal_invmap
181 && sig < 32)
182 sig = thread->exec_domain->signal_invmap[sig];
183 return sig;
184}
185
186static int 174static int
187setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs) 175setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs)
188{ 176{
@@ -231,7 +219,7 @@ setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs)
231 return err; 219 return err;
232 220
233 /* #1 arg to the user Signal handler */ 221 /* #1 arg to the user Signal handler */
234 regs->r0 = map_sig(ksig->sig); 222 regs->r0 = ksig->sig;
235 223
236 /* setup PC of user space signal handler */ 224 /* setup PC of user space signal handler */
237 regs->ret = (unsigned long)ksig->ka.sa.sa_handler; 225 regs->ret = (unsigned long)ksig->ka.sa.sa_handler;