diff options
Diffstat (limited to 'tapset')
-rw-r--r-- | tapset/context.stp | 2 | ||||
-rw-r--r-- | tapset/errno.stp | 2 | ||||
-rw-r--r-- | tapset/nd_syscalls.stp | 3 | ||||
-rw-r--r-- | tapset/syscalls.stp | 3 |
4 files changed, 8 insertions, 2 deletions
diff --git a/tapset/context.stp b/tapset/context.stp index 36701e6e..b30f7dca 100644 --- a/tapset/context.stp +++ b/tapset/context.stp @@ -15,7 +15,7 @@ %{ #include <asm/processor.h> -#if defined(__powerpc64__) +#if defined(__powerpc__) #if !defined(task_pt_regs) #define task_pt_regs(tsk) ((struct pt_regs *)(tsk)->thread.regs) #endif diff --git a/tapset/errno.stp b/tapset/errno.stp index 011ff7e2..d4d571be 100644 --- a/tapset/errno.stp +++ b/tapset/errno.stp @@ -369,7 +369,7 @@ static long _stp_returnval(struct pt_regs *regs) { #elif defined (__x86_64__) // TODO: Handle -m32 apps. return regs->rax; -#elif defined (__powerpc64__) +#elif defined (__powerpc__) return regs->gpr[3]; #elif defined (__ia64__) return regs->r8; diff --git a/tapset/nd_syscalls.stp b/tapset/nd_syscalls.stp index f9a6ffce..e7492a11 100644 --- a/tapset/nd_syscalls.stp +++ b/tapset/nd_syscalls.stp @@ -1320,6 +1320,9 @@ function __is_user_regs:long (regs:long) #elif defined(__powerpc64__) unsigned long msr = kread(®s->msr); THIS->__retvalue = ((msr >> MSR_PR_LG) & 0x1); +#elif defined(__powerpc__) + unsigned long msr = kread(®s->msr); + THIS->__retvalue = ((msr >> MSR_PR) != 0); #elif defined(__arm__) long cpsr = kread(®s->ARM_cpsr); THIS->__retvalue = ((cpsr & 0xf) == 0); diff --git a/tapset/syscalls.stp b/tapset/syscalls.stp index dde0ca9f..430d37ff 100644 --- a/tapset/syscalls.stp +++ b/tapset/syscalls.stp @@ -1093,6 +1093,9 @@ function __is_user_regs:long (regs:long) #elif defined(__powerpc64__) unsigned long msr = kread(®s->msr); THIS->__retvalue = ((msr >> MSR_PR_LG) & 0x1); +#elif defined(__powerpc__) + unsigned long msr = kread(®s->msr); + THIS->__retvalue = ((msr >> MSR_PR) != 0); #elif defined(__arm__) long cpsr = kread(®s->ARM_cpsr); THIS->__retvalue = ((cpsr & 0xf) == 0); |