s390: remove all usages of PSW_ADDR_AMODE
This is a leftover from the 31 bit area. For CONFIG_64BIT the usual operation "y = x | PSW_ADDR_AMODE" is a nop. Therefore remove all usages of PSW_ADDR_AMODE and make the code a bit less confusing. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Reviewed-by: David Hildenbrand <dahi@linux.vnet.ibm.com>
This commit is contained in:

committed by
Martin Schwidefsky

parent
696aafd369
commit
fecc868a66
@@ -331,13 +331,13 @@ static int setup_frame(int sig, struct k_sigaction *ka,
|
||||
/* Set up to return from userspace. If provided, use a stub
|
||||
already in userspace. */
|
||||
if (ka->sa.sa_flags & SA_RESTORER) {
|
||||
restorer = (unsigned long) ka->sa.sa_restorer | PSW_ADDR_AMODE;
|
||||
restorer = (unsigned long) ka->sa.sa_restorer;
|
||||
} else {
|
||||
/* Signal frame without vector registers are short ! */
|
||||
__u16 __user *svc = (void __user *) frame + frame_size - 2;
|
||||
if (__put_user(S390_SYSCALL_OPCODE | __NR_sigreturn, svc))
|
||||
return -EFAULT;
|
||||
restorer = (unsigned long) svc | PSW_ADDR_AMODE;
|
||||
restorer = (unsigned long) svc;
|
||||
}
|
||||
|
||||
/* Set up registers for signal handler */
|
||||
@@ -347,7 +347,7 @@ static int setup_frame(int sig, struct k_sigaction *ka,
|
||||
regs->psw.mask = PSW_MASK_EA | PSW_MASK_BA |
|
||||
(PSW_USER_BITS & PSW_MASK_ASC) |
|
||||
(regs->psw.mask & ~PSW_MASK_ASC);
|
||||
regs->psw.addr = (unsigned long) ka->sa.sa_handler | PSW_ADDR_AMODE;
|
||||
regs->psw.addr = (unsigned long) ka->sa.sa_handler;
|
||||
|
||||
regs->gprs[2] = sig;
|
||||
regs->gprs[3] = (unsigned long) &frame->sc;
|
||||
@@ -394,13 +394,12 @@ static int setup_rt_frame(struct ksignal *ksig, sigset_t *set,
|
||||
/* Set up to return from userspace. If provided, use a stub
|
||||
already in userspace. */
|
||||
if (ksig->ka.sa.sa_flags & SA_RESTORER) {
|
||||
restorer = (unsigned long)
|
||||
ksig->ka.sa.sa_restorer | PSW_ADDR_AMODE;
|
||||
restorer = (unsigned long) ksig->ka.sa.sa_restorer;
|
||||
} else {
|
||||
__u16 __user *svc = &frame->svc_insn;
|
||||
if (__put_user(S390_SYSCALL_OPCODE | __NR_rt_sigreturn, svc))
|
||||
return -EFAULT;
|
||||
restorer = (unsigned long) svc | PSW_ADDR_AMODE;
|
||||
restorer = (unsigned long) svc;
|
||||
}
|
||||
|
||||
/* Create siginfo on the signal stack */
|
||||
@@ -426,7 +425,7 @@ static int setup_rt_frame(struct ksignal *ksig, sigset_t *set,
|
||||
regs->psw.mask = PSW_MASK_EA | PSW_MASK_BA |
|
||||
(PSW_USER_BITS & PSW_MASK_ASC) |
|
||||
(regs->psw.mask & ~PSW_MASK_ASC);
|
||||
regs->psw.addr = (unsigned long) ksig->ka.sa.sa_handler | PSW_ADDR_AMODE;
|
||||
regs->psw.addr = (unsigned long) ksig->ka.sa.sa_handler;
|
||||
|
||||
regs->gprs[2] = ksig->sig;
|
||||
regs->gprs[3] = (unsigned long) &frame->info;
|
||||
|
Reference in New Issue
Block a user