On Dec 6, 2012, at 11:54 PM, Michael Neuling <mi...@neuling.org> wrote:
>> commit 279c0615917b959a652e81f4ad0d886e2d426d85 >> Author: Jimi Xenidis <ji...@pobox.com> >> Date: Wed Dec 5 13:43:22 2012 -0500 >> >> powerpc/book3e: IBM Blue Gene/Q Quad Processing eXtention (QPX) >> >> This enables kernel support for the QPX extention and is intended for >> processors that support it, usually an IBM Blue Gene processor. >> Turning it on does not effect other processors but it does add code >> and will quadruple the per thread save and restore area for the FPU >> (hense the name). If you have enabled VSX it will only double the >> space. >> >> Signed-off-by: Jimi Xenidis <ji...@pobox.com> > > Can you give a diagram of how the QPX registers are layed out. > > +#if defined(CONFIG_PPC_QPX) > +#define TS_FPRWIDTH 4 > +#elif defined(CONFIG_VSX) > > Are they 256 bits wide? Yes, this is why we nicknamed it the "Quad Hummer" :) - 4-wide double precision FPU SIMD - 2-wide complex SIMD - 4R/2W register file (32x256 bits per thread) - 32B (256 bits) datapath to/from L1 cache > > > +#define QVLFDXA(QRT,RA,RB) \ > + .long (0x7c00048f | ((QRT) << 21) | ((RA) << 16) | ((RB) << 11)) > > Put this in ppc-opcode.h. > > +#if defined(CONFIG_VSX) || defined(CONFIG_PPC_QPX) > + /* they are the same MSR bit */ > > OMG! Ooops, you are correct, this was in the original patch. I'll double check the work book, but it should be the architected VEC/SPV bit which is really for VMX. I'll track it down. > > > +BEGIN_FTR_SECTION \ > + SAVE_32VSRS(n,c,base); \ > +END_FTR_SECTION_IFSET(CPU_FTR_VSX); \ > +BEGIN_FTR_SECTION \ > + SAVE_32QRS(n,c,base); \ > +END_FTR_SECTION_IFSET(CPU_FTR_QPX); > > I don't think we want to do this. We are going to end up with 64 > NOPS here somewhere. Excellent point, NOPs are cheap on most processors but not A2 and a lot of embedded, I can wrap some branches with the FTR instead. Do you have a concern on the code size? > > I'd like to see this patch broken into different parts. I'm not sure how _this_ patch: <https://github.com/jimix/linux-bgq/commit/279c0615917b959a652e81f4ad0d886e2d426d85> could be broken up, please advise. > > Also, have you boot tested this change on a VSX enabled box? I can try, I may bug you for help. Is there a commonly test (or apps) I should run? -jx > > Mikey _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev