aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorRichard Weinberger <richard@nod.at>2014-07-13 11:40:49 -0400
committerRichard Weinberger <richard@nod.at>2015-04-12 15:03:27 -0400
commit89f191b31ceeb8e79c46815533b7d96c15e83720 (patch)
treeaf7d509b781f29daa6778d715c18d71ff2ec6e14 /arch
parent14464772c95d351e802b7f07c1860d9e5bf2cafc (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.h2
-rw-r--r--arch/tile/kernel/compat_signal.c9
-rw-r--r--arch/tile/kernel/signal.c9
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 */
27struct thread_info { 27struct 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;