diff options
author | Richard Weinberger <richard@nod.at> | 2014-07-13 11:40:49 -0400 |
---|---|---|
committer | Richard Weinberger <richard@nod.at> | 2015-04-12 15:03:27 -0400 |
commit | 89f191b31ceeb8e79c46815533b7d96c15e83720 (patch) | |
tree | af7d509b781f29daa6778d715c18d71ff2ec6e14 /arch | |
parent | 14464772c95d351e802b7f07c1860d9e5bf2cafc (diff) |
tile: 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/tile/include/asm/thread_info.h | 2 | ||||
-rw-r--r-- | arch/tile/kernel/compat_signal.c | 9 | ||||
-rw-r--r-- | arch/tile/kernel/signal.c | 9 |
3 files changed, 2 insertions, 18 deletions
diff --git a/arch/tile/include/asm/thread_info.h b/arch/tile/include/asm/thread_info.h index 96c14c1430d8..98ee10a0ae89 100644 --- a/arch/tile/include/asm/thread_info.h +++ b/arch/tile/include/asm/thread_info.h | |||
@@ -26,7 +26,6 @@ | |||
26 | */ | 26 | */ |
27 | struct thread_info { | 27 | struct thread_info { |
28 | struct task_struct *task; /* main task structure */ | 28 | struct task_struct *task; /* main task structure */ |
29 | struct exec_domain *exec_domain; /* execution domain */ | ||
30 | unsigned long flags; /* low level flags */ | 29 | unsigned long flags; /* low level flags */ |
31 | unsigned long status; /* thread-synchronous flags */ | 30 | unsigned long status; /* thread-synchronous flags */ |
32 | __u32 homecache_cpu; /* CPU we are homecached on */ | 31 | __u32 homecache_cpu; /* CPU we are homecached on */ |
@@ -51,7 +50,6 @@ struct thread_info { | |||
51 | #define INIT_THREAD_INFO(tsk) \ | 50 | #define INIT_THREAD_INFO(tsk) \ |
52 | { \ | 51 | { \ |
53 | .task = &tsk, \ | 52 | .task = &tsk, \ |
54 | .exec_domain = &default_exec_domain, \ | ||
55 | .flags = 0, \ | 53 | .flags = 0, \ |
56 | .cpu = 0, \ | 54 | .cpu = 0, \ |
57 | .preempt_count = INIT_PREEMPT_COUNT, \ | 55 | .preempt_count = INIT_PREEMPT_COUNT, \ |
diff --git a/arch/tile/kernel/compat_signal.c b/arch/tile/kernel/compat_signal.c index 8c5abf2e4794..5cbc864398d3 100644 --- a/arch/tile/kernel/compat_signal.c +++ b/arch/tile/kernel/compat_signal.c | |||
@@ -196,19 +196,12 @@ int compat_setup_rt_frame(struct ksignal *ksig, sigset_t *set, | |||
196 | unsigned long restorer; | 196 | unsigned long restorer; |
197 | struct compat_rt_sigframe __user *frame; | 197 | struct compat_rt_sigframe __user *frame; |
198 | int err = 0, sig = ksig->sig; | 198 | int err = 0, sig = ksig->sig; |
199 | int usig; | ||
200 | 199 | ||
201 | frame = compat_get_sigframe(&ksig->ka, regs, sizeof(*frame)); | 200 | frame = compat_get_sigframe(&ksig->ka, regs, sizeof(*frame)); |
202 | 201 | ||
203 | if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) | 202 | if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) |
204 | goto err; | 203 | goto err; |
205 | 204 | ||
206 | usig = current_thread_info()->exec_domain | ||
207 | && current_thread_info()->exec_domain->signal_invmap | ||
208 | && sig < 32 | ||
209 | ? current_thread_info()->exec_domain->signal_invmap[sig] | ||
210 | : sig; | ||
211 | |||
212 | /* Always write at least the signal number for the stack backtracer. */ | 205 | /* Always write at least the signal number for the stack backtracer. */ |
213 | if (ksig->ka.sa.sa_flags & SA_SIGINFO) { | 206 | if (ksig->ka.sa.sa_flags & SA_SIGINFO) { |
214 | /* At sigreturn time, restore the callee-save registers too. */ | 207 | /* At sigreturn time, restore the callee-save registers too. */ |
@@ -243,7 +236,7 @@ int compat_setup_rt_frame(struct ksignal *ksig, sigset_t *set, | |||
243 | regs->ex1 = PL_ICS_EX1(USER_PL, 1); /* set crit sec in handler */ | 236 | regs->ex1 = PL_ICS_EX1(USER_PL, 1); /* set crit sec in handler */ |
244 | regs->sp = ptr_to_compat_reg(frame); | 237 | regs->sp = ptr_to_compat_reg(frame); |
245 | regs->lr = restorer; | 238 | regs->lr = restorer; |
246 | regs->regs[0] = (unsigned long) usig; | 239 | regs->regs[0] = (unsigned long) sig; |
247 | regs->regs[1] = ptr_to_compat_reg(&frame->info); | 240 | regs->regs[1] = ptr_to_compat_reg(&frame->info); |
248 | regs->regs[2] = ptr_to_compat_reg(&frame->uc); | 241 | regs->regs[2] = ptr_to_compat_reg(&frame->uc); |
249 | regs->flags |= PT_FLAGS_CALLER_SAVES; | 242 | regs->flags |= PT_FLAGS_CALLER_SAVES; |
diff --git a/arch/tile/kernel/signal.c b/arch/tile/kernel/signal.c index 8a524e332c1a..87299a6cfec8 100644 --- a/arch/tile/kernel/signal.c +++ b/arch/tile/kernel/signal.c | |||
@@ -151,19 +151,12 @@ static int setup_rt_frame(struct ksignal *ksig, sigset_t *set, | |||
151 | unsigned long restorer; | 151 | unsigned long restorer; |
152 | struct rt_sigframe __user *frame; | 152 | struct rt_sigframe __user *frame; |
153 | int err = 0, sig = ksig->sig; | 153 | int err = 0, sig = ksig->sig; |
154 | int usig; | ||
155 | 154 | ||
156 | frame = get_sigframe(&ksig->ka, regs, sizeof(*frame)); | 155 | frame = get_sigframe(&ksig->ka, regs, sizeof(*frame)); |
157 | 156 | ||
158 | if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) | 157 | if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame))) |
159 | goto err; | 158 | goto err; |
160 | 159 | ||
161 | usig = current_thread_info()->exec_domain | ||
162 | && current_thread_info()->exec_domain->signal_invmap | ||
163 | && sig < 32 | ||
164 | ? current_thread_info()->exec_domain->signal_invmap[sig] | ||
165 | : sig; | ||
166 | |||
167 | /* Always write at least the signal number for the stack backtracer. */ | 160 | /* Always write at least the signal number for the stack backtracer. */ |
168 | if (ksig->ka.sa.sa_flags & SA_SIGINFO) { | 161 | if (ksig->ka.sa.sa_flags & SA_SIGINFO) { |
169 | /* At sigreturn time, restore the callee-save registers too. */ | 162 | /* At sigreturn time, restore the callee-save registers too. */ |
@@ -198,7 +191,7 @@ static int setup_rt_frame(struct ksignal *ksig, sigset_t *set, | |||
198 | regs->ex1 = PL_ICS_EX1(USER_PL, 1); /* set crit sec in handler */ | 191 | regs->ex1 = PL_ICS_EX1(USER_PL, 1); /* set crit sec in handler */ |
199 | regs->sp = (unsigned long) frame; | 192 | regs->sp = (unsigned long) frame; |
200 | regs->lr = restorer; | 193 | regs->lr = restorer; |
201 | regs->regs[0] = (unsigned long) usig; | 194 | regs->regs[0] = (unsigned long) sig; |
202 | regs->regs[1] = (unsigned long) &frame->info; | 195 | regs->regs[1] = (unsigned long) &frame->info; |
203 | regs->regs[2] = (unsigned long) &frame->uc; | 196 | regs->regs[2] = (unsigned long) &frame->uc; |
204 | regs->flags |= PT_FLAGS_CALLER_SAVES; | 197 | regs->flags |= PT_FLAGS_CALLER_SAVES; |