On Tue, Sep 10, 2013 at 12:07:46PM -0500, Alexander Graf wrote: > > On 10.09.2013, at 05:20, Paul Mackerras wrote: > > @@ -897,7 +897,7 @@ int fix_alignment(struct pt_regs *regs) > > return -EFAULT; > > } > > } else if (flags & F) { > > - data.dd = current->thread.TS_FPR(reg); > > + data.ll = current->thread.TS_FPR(reg); > > I don't understand this change. Could you please explain? It's simply that the type which we use to store the FPR values is now an unsigned integer type rather than a floating-point type. If I didn't make this change, the compiler would try to convert that unsigned integer value into a floating-point value, which we don't want. > > --- a/arch/powerpc/kernel/tm.S > > +++ b/arch/powerpc/kernel/tm.S > > @@ -12,16 +12,15 @@ > > #include <asm/reg.h> > > > > #ifdef CONFIG_VSX > > -/* See fpu.S, this is very similar but to save/restore checkpointed FPRs/VSRs */ > > -#define __SAVE_32FPRS_VSRS_TRANSACT(n,c,base) \ > > +/* See fpu.S, this is borrowed from there */ > > +#define __SAVE_32FPRS_VSRS(n,c,base) \ > > Should this really be in tm.S with its new name? Do you mean, could I merge it with __SAVE_32FPVSRS from fpu.S, put it in ppc_asm.h and avoid having two very similar macros defined in different places? Yes I could, and that's a good idea. Paul. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html