powerpc: Remove hard coded FP offsets in alignment handler
The alignment handler assumes big endian ordering when selecting the low word of a 64bit floating point value. Use the existing union which works in both little and big endian. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
f626190d27
commit
c324496456
1 changed files with 2 additions and 2 deletions
|
@ -895,7 +895,7 @@ int fix_alignment(struct pt_regs *regs)
|
|||
#ifdef CONFIG_PPC_FPU
|
||||
preempt_disable();
|
||||
enable_kernel_fp();
|
||||
cvt_df(&data.dd, (float *)&data.v[4]);
|
||||
cvt_df(&data.dd, (float *)&data.x32.low32);
|
||||
preempt_enable();
|
||||
#else
|
||||
return 0;
|
||||
|
@ -935,7 +935,7 @@ int fix_alignment(struct pt_regs *regs)
|
|||
#ifdef CONFIG_PPC_FPU
|
||||
preempt_disable();
|
||||
enable_kernel_fp();
|
||||
cvt_fd((float *)&data.v[4], &data.dd);
|
||||
cvt_fd((float *)&data.x32.low32, &data.dd);
|
||||
preempt_enable();
|
||||
#else
|
||||
return 0;
|
||||
|
|
Loading…
Reference in a new issue