aboutsummaryrefslogtreecommitdiffstats
path: root/arch/parisc/kernel/signal.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/parisc/kernel/signal.c')
-rw-r--r--arch/parisc/kernel/signal.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/arch/parisc/kernel/signal.c b/arch/parisc/kernel/signal.c
index 64169ab82de2..9784e405f849 100644
--- a/arch/parisc/kernel/signal.c
+++ b/arch/parisc/kernel/signal.c
@@ -62,7 +62,7 @@
62/* 62/*
63 * Atomically swap in the new signal mask, and wait for a signal. 63 * Atomically swap in the new signal mask, and wait for a signal.
64 */ 64 */
65#ifdef __LP64__ 65#ifdef CONFIG_64BIT
66#include "sys32.h" 66#include "sys32.h"
67#endif 67#endif
68 68
@@ -103,7 +103,7 @@ sys_rt_sigreturn(struct pt_regs *regs, int in_syscall)
103 sigset_t set; 103 sigset_t set;
104 unsigned long usp = (regs->gr[30] & ~(0x01UL)); 104 unsigned long usp = (regs->gr[30] & ~(0x01UL));
105 unsigned long sigframe_size = PARISC_RT_SIGFRAME_SIZE; 105 unsigned long sigframe_size = PARISC_RT_SIGFRAME_SIZE;
106#ifdef __LP64__ 106#ifdef CONFIG_64BIT
107 compat_sigset_t compat_set; 107 compat_sigset_t compat_set;
108 struct compat_rt_sigframe __user * compat_frame; 108 struct compat_rt_sigframe __user * compat_frame;
109 109
@@ -117,7 +117,7 @@ sys_rt_sigreturn(struct pt_regs *regs, int in_syscall)
117 (usp - sigframe_size); 117 (usp - sigframe_size);
118 DBG(2,"sys_rt_sigreturn: frame is %p\n", frame); 118 DBG(2,"sys_rt_sigreturn: frame is %p\n", frame);
119 119
120#ifdef __LP64__ 120#ifdef CONFIG_64BIT
121 compat_frame = (struct compat_rt_sigframe __user *)frame; 121 compat_frame = (struct compat_rt_sigframe __user *)frame;
122 122
123 if (is_compat_task()) { 123 if (is_compat_task()) {
@@ -139,7 +139,7 @@ sys_rt_sigreturn(struct pt_regs *regs, int in_syscall)
139 spin_unlock_irq(&current->sighand->siglock); 139 spin_unlock_irq(&current->sighand->siglock);
140 140
141 /* Good thing we saved the old gr[30], eh? */ 141 /* Good thing we saved the old gr[30], eh? */
142#ifdef __LP64__ 142#ifdef CONFIG_64BIT
143 if (is_compat_task()) { 143 if (is_compat_task()) {
144 DBG(1,"sys_rt_sigreturn: compat_frame->uc.uc_mcontext 0x%p\n", 144 DBG(1,"sys_rt_sigreturn: compat_frame->uc.uc_mcontext 0x%p\n",
145 &compat_frame->uc.uc_mcontext); 145 &compat_frame->uc.uc_mcontext);
@@ -251,7 +251,7 @@ setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info,
251 unsigned long rp, usp; 251 unsigned long rp, usp;
252 unsigned long haddr, sigframe_size; 252 unsigned long haddr, sigframe_size;
253 int err = 0; 253 int err = 0;
254#ifdef __LP64__ 254#ifdef CONFIG_64BIT
255 compat_int_t compat_val; 255 compat_int_t compat_val;
256 struct compat_rt_sigframe __user * compat_frame; 256 struct compat_rt_sigframe __user * compat_frame;
257 compat_sigset_t compat_set; 257 compat_sigset_t compat_set;
@@ -265,7 +265,7 @@ setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info,
265 DBG(1,"setup_rt_frame: frame %p info %p\n", frame, info); 265 DBG(1,"setup_rt_frame: frame %p info %p\n", frame, info);
266 266
267 267
268#ifdef __LP64__ 268#ifdef CONFIG_64BIT
269 269
270 compat_frame = (struct compat_rt_sigframe __user *)frame; 270 compat_frame = (struct compat_rt_sigframe __user *)frame;
271 271
@@ -345,7 +345,7 @@ setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info,
345 345
346 haddr = A(ka->sa.sa_handler); 346 haddr = A(ka->sa.sa_handler);
347 /* The sa_handler may be a pointer to a function descriptor */ 347 /* The sa_handler may be a pointer to a function descriptor */
348#ifdef __LP64__ 348#ifdef CONFIG_64BIT
349 if (is_compat_task()) { 349 if (is_compat_task()) {
350#endif 350#endif
351 if (haddr & PA_PLABEL_FDESC) { 351 if (haddr & PA_PLABEL_FDESC) {
@@ -360,7 +360,7 @@ setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info,
360 haddr = fdesc.addr; 360 haddr = fdesc.addr;
361 regs->gr[19] = fdesc.gp; 361 regs->gr[19] = fdesc.gp;
362 } 362 }
363#ifdef __LP64__ 363#ifdef CONFIG_64BIT
364 } else { 364 } else {
365 Elf64_Fdesc fdesc; 365 Elf64_Fdesc fdesc;
366 Elf64_Fdesc __user *ufdesc = (Elf64_Fdesc __user *)A(haddr & ~3); 366 Elf64_Fdesc __user *ufdesc = (Elf64_Fdesc __user *)A(haddr & ~3);
@@ -380,19 +380,19 @@ setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info,
380 /* The syscall return path will create IAOQ values from r31. 380 /* The syscall return path will create IAOQ values from r31.
381 */ 381 */
382 sigframe_size = PARISC_RT_SIGFRAME_SIZE; 382 sigframe_size = PARISC_RT_SIGFRAME_SIZE;
383#ifdef __LP64__ 383#ifdef CONFIG_64BIT
384 if (is_compat_task()) 384 if (is_compat_task())
385 sigframe_size = PARISC_RT_SIGFRAME_SIZE32; 385 sigframe_size = PARISC_RT_SIGFRAME_SIZE32;
386#endif 386#endif
387 if (in_syscall) { 387 if (in_syscall) {
388 regs->gr[31] = haddr; 388 regs->gr[31] = haddr;
389#ifdef __LP64__ 389#ifdef CONFIG_64BIT
390 if (!test_thread_flag(TIF_32BIT)) 390 if (!test_thread_flag(TIF_32BIT))
391 sigframe_size |= 1; 391 sigframe_size |= 1;
392#endif 392#endif
393 } else { 393 } else {
394 unsigned long psw = USER_PSW; 394 unsigned long psw = USER_PSW;
395#ifdef __LP64__ 395#ifdef CONFIG_64BIT
396 if (!test_thread_flag(TIF_32BIT)) 396 if (!test_thread_flag(TIF_32BIT))
397 psw |= PSW_W; 397 psw |= PSW_W;
398#endif 398#endif
@@ -417,7 +417,7 @@ setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info,
417 regs->gr[2] = rp; /* userland return pointer */ 417 regs->gr[2] = rp; /* userland return pointer */
418 regs->gr[26] = sig; /* signal number */ 418 regs->gr[26] = sig; /* signal number */
419 419
420#ifdef __LP64__ 420#ifdef CONFIG_64BIT
421 if (is_compat_task()) { 421 if (is_compat_task()) {
422 regs->gr[25] = A(&compat_frame->info); /* siginfo pointer */ 422 regs->gr[25] = A(&compat_frame->info); /* siginfo pointer */
423 regs->gr[24] = A(&compat_frame->uc); /* ucontext pointer */ 423 regs->gr[24] = A(&compat_frame->uc); /* ucontext pointer */