diff options
Diffstat (limited to 'arch/powerpc/kernel/ptrace32.c')
| -rw-r--r-- | arch/powerpc/kernel/ptrace32.c | 13 | 
1 files changed, 5 insertions, 8 deletions
diff --git a/arch/powerpc/kernel/ptrace32.c b/arch/powerpc/kernel/ptrace32.c index f51599e941c..f52b7db327c 100644 --- a/arch/powerpc/kernel/ptrace32.c +++ b/arch/powerpc/kernel/ptrace32.c @@ -43,7 +43,6 @@  #define FPRNUMBER(i) (((i) - PT_FPR0) >> 1)  #define FPRHALF(i) (((i) - PT_FPR0) & 1)  #define FPRINDEX(i) TS_FPRWIDTH * FPRNUMBER(i) * 2 + FPRHALF(i) -#define FPRINDEX_3264(i) (TS_FPRWIDTH * ((i) - PT_FPR0))  long compat_arch_ptrace(struct task_struct *child, compat_long_t request,  			compat_ulong_t caddr, compat_ulong_t cdata) @@ -105,7 +104,7 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request,  			 * to be an array of unsigned int (32 bits) - the  			 * index passed in is based on this assumption.  			 */ -			tmp = ((unsigned int *)child->thread.fpr) +			tmp = ((unsigned int *)child->thread.fp_state.fpr)  				[FPRINDEX(index)];  		}  		ret = put_user((unsigned int)tmp, (u32 __user *)data); @@ -147,8 +146,7 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request,  		if (numReg >= PT_FPR0) {  			flush_fp_to_thread(child);  			/* get 64 bit FPR */ -			tmp = ((u64 *)child->thread.fpr) -				[FPRINDEX_3264(numReg)]; +			tmp = child->thread.fp_state.fpr[numReg - PT_FPR0][0];  		} else { /* register within PT_REGS struct */  			unsigned long tmp2;  			ret = ptrace_get_reg(child, numReg, &tmp2); @@ -207,7 +205,7 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request,  			 * to be an array of unsigned int (32 bits) - the  			 * index passed in is based on this assumption.  			 */ -			((unsigned int *)child->thread.fpr) +			((unsigned int *)child->thread.fp_state.fpr)  				[FPRINDEX(index)] = data;  			ret = 0;  		} @@ -251,8 +249,7 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request,  			u64 *tmp;  			flush_fp_to_thread(child);  			/* get 64 bit FPR ... */ -			tmp = &(((u64 *)child->thread.fpr) -				[FPRINDEX_3264(numReg)]); +			tmp = &child->thread.fp_state.fpr[numReg - PT_FPR0][0];  			/* ... write the 32 bit part we want */  			((u32 *)tmp)[index % 2] = data;  			ret = 0; @@ -269,7 +266,7 @@ long compat_arch_ptrace(struct task_struct *child, compat_long_t request,  		if (addr > 0)  			break;  #ifdef CONFIG_PPC_ADV_DEBUG_REGS -		ret = put_user(child->thread.dac1, (u32 __user *)data); +		ret = put_user(child->thread.debug.dac1, (u32 __user *)data);  #else  		dabr_fake = (  			(child->thread.hw_brk.address & (~HW_BRK_TYPE_DABR)) |  | 
