xtensa: 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>
This commit is contained in:
Родитель
cb418fdb33
Коммит
3e66701cbd
|
@ -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, \
|
||||
|
|
|
@ -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;
|
||||
|
|
Загрузка…
Ссылка в новой задаче