frv: 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:
parent
61622aa399
commit
7bd8301084
4 changed files with 5 additions and 20 deletions
|
@ -151,7 +151,7 @@ setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs)
|
||||||
|
|
||||||
frame = get_sigframe(ksig, sizeof(*frame));
|
frame = get_sigframe(ksig, sizeof(*frame));
|
||||||
|
|
||||||
err |= __put_user(sig->sig, &frame->sig);
|
err |= __put_user(ksig->sig, &frame->sig);
|
||||||
|
|
||||||
err |= __put_user(&frame->info, &frame->pinfo);
|
err |= __put_user(&frame->info, &frame->pinfo);
|
||||||
err |= __put_user(&frame->uc, &frame->puc);
|
err |= __put_user(&frame->uc, &frame->puc);
|
||||||
|
|
|
@ -31,7 +31,6 @@
|
||||||
|
|
||||||
struct thread_info {
|
struct thread_info {
|
||||||
struct task_struct *task; /* main task structure */
|
struct task_struct *task; /* main task structure */
|
||||||
struct exec_domain *exec_domain; /* execution domain */
|
|
||||||
unsigned long flags; /* low level flags */
|
unsigned long flags; /* low level flags */
|
||||||
unsigned long status; /* thread-synchronous flags */
|
unsigned long status; /* thread-synchronous flags */
|
||||||
__u32 cpu; /* current CPU */
|
__u32 cpu; /* current CPU */
|
||||||
|
@ -59,7 +58,6 @@ struct thread_info {
|
||||||
#define INIT_THREAD_INFO(tsk) \
|
#define INIT_THREAD_INFO(tsk) \
|
||||||
{ \
|
{ \
|
||||||
.task = &tsk, \
|
.task = &tsk, \
|
||||||
.exec_domain = &default_exec_domain, \
|
|
||||||
.flags = 0, \
|
.flags = 0, \
|
||||||
.cpu = 0, \
|
.cpu = 0, \
|
||||||
.preempt_count = INIT_PREEMPT_COUNT, \
|
.preempt_count = INIT_PREEMPT_COUNT, \
|
||||||
|
|
|
@ -34,7 +34,6 @@ void foo(void)
|
||||||
{
|
{
|
||||||
/* offsets into the thread_info structure */
|
/* offsets into the thread_info structure */
|
||||||
OFFSET(TI_TASK, thread_info, task);
|
OFFSET(TI_TASK, thread_info, task);
|
||||||
OFFSET(TI_EXEC_DOMAIN, thread_info, exec_domain);
|
|
||||||
OFFSET(TI_FLAGS, thread_info, flags);
|
OFFSET(TI_FLAGS, thread_info, flags);
|
||||||
OFFSET(TI_STATUS, thread_info, status);
|
OFFSET(TI_STATUS, thread_info, status);
|
||||||
OFFSET(TI_CPU, thread_info, cpu);
|
OFFSET(TI_CPU, thread_info, cpu);
|
||||||
|
|
|
@ -174,7 +174,7 @@ static inline void __user *get_sigframe(struct ksignal *ksig,
|
||||||
static int setup_frame(struct ksignal *ksig, sigset_t *set)
|
static int setup_frame(struct ksignal *ksig, sigset_t *set)
|
||||||
{
|
{
|
||||||
struct sigframe __user *frame;
|
struct sigframe __user *frame;
|
||||||
int rsig, sig = ksig->sig;
|
int sig = ksig->sig;
|
||||||
|
|
||||||
set_fs(USER_DS);
|
set_fs(USER_DS);
|
||||||
|
|
||||||
|
@ -183,13 +183,7 @@ static int setup_frame(struct ksignal *ksig, sigset_t *set)
|
||||||
if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame)))
|
if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame)))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
|
|
||||||
rsig = sig;
|
if (__put_user(sig, &frame->sig) < 0)
|
||||||
if (sig < 32 &&
|
|
||||||
__current_thread_info->exec_domain &&
|
|
||||||
__current_thread_info->exec_domain->signal_invmap)
|
|
||||||
rsig = __current_thread_info->exec_domain->signal_invmap[sig];
|
|
||||||
|
|
||||||
if (__put_user(rsig, &frame->sig) < 0)
|
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
|
|
||||||
if (setup_sigcontext(&frame->sc, set->sig[0]))
|
if (setup_sigcontext(&frame->sc, set->sig[0]))
|
||||||
|
@ -255,7 +249,7 @@ static int setup_frame(struct ksignal *ksig, sigset_t *set)
|
||||||
static int setup_rt_frame(struct ksignal *ksig, sigset_t *set)
|
static int setup_rt_frame(struct ksignal *ksig, sigset_t *set)
|
||||||
{
|
{
|
||||||
struct rt_sigframe __user *frame;
|
struct rt_sigframe __user *frame;
|
||||||
int rsig, sig = ksig->sig;
|
int sig = ksig->sig;
|
||||||
|
|
||||||
set_fs(USER_DS);
|
set_fs(USER_DS);
|
||||||
|
|
||||||
|
@ -264,13 +258,7 @@ static int setup_rt_frame(struct ksignal *ksig, sigset_t *set)
|
||||||
if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame)))
|
if (!access_ok(VERIFY_WRITE, frame, sizeof(*frame)))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
|
|
||||||
rsig = sig;
|
if (__put_user(sig, &frame->sig) ||
|
||||||
if (sig < 32 &&
|
|
||||||
__current_thread_info->exec_domain &&
|
|
||||||
__current_thread_info->exec_domain->signal_invmap)
|
|
||||||
rsig = __current_thread_info->exec_domain->signal_invmap[sig];
|
|
||||||
|
|
||||||
if (__put_user(rsig, &frame->sig) ||
|
|
||||||
__put_user(&frame->info, &frame->pinfo) ||
|
__put_user(&frame->info, &frame->pinfo) ||
|
||||||
__put_user(&frame->uc, &frame->puc))
|
__put_user(&frame->uc, &frame->puc))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
|
|
Loading…
Add table
Reference in a new issue