Date: Fri, 16 Jul 2010 10:07:13 +0530 From: "Jayachandran C." <c.jayachandran@gmail.com> To: "M. Warner Losh" <imp@bsdimp.com> Cc: mips@freebsd.org Subject: Re: Review Message-ID: <AANLkTil54b-Ige8jAzrugOLkoUwSNXCVvm_Xf9Xs56wj@mail.gmail.com> In-Reply-To: <20100715.161926.175946041864758761.imp@bsdimp.com> References: <20100715.161926.175946041864758761.imp@bsdimp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jul 16, 2010 at 3:49 AM, M. Warner Losh <imp@bsdimp.com> wrote: > OK. =A0Please find enclosed a minor cleanup diff for assembler files. > It moves ITLBNOPFIX and HAZARD_DELAY into a common header, as well as > replacing MIPS_CPU_NOP_DELAY with HAZARD_DELAY. > > The only real change is increasing the number of nops in a few places > from 4 to 5. > > This is in preparation for making these (a) much shorter and (b) > optimizing for specific CPUs... =A0mips32/mips64 define ssnop to deal > with the super-scaler effects (so ITLBNOPFIX can be shorter), and > mips32r2 and mips64r2 have eh, which can help with HAZARD_DELAY. > > The latter will need some careful study of the docs to make sure that > the proper number of instructions are executed (which is why I'm not > doing it yet :). =A0The former is just shuffling deck chairs, so should b= e > invisible to people. > > Comments? There is a mips_barrier() in cpufunc.h too which does similar things - and is confusingly named - we can to get rid of that too in a similar way. Another cleanup I wanted to do for sometime is to get the status register settings into a header files and avoid the ifdef everywhere. Maybe cpuregs.h (or cpufunc.h) can add cpu_xlr.h/cpu_octeon.h etc which will have hazard/status/extra registers for the specific cpu. Thanks, JC.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTil54b-Ige8jAzrugOLkoUwSNXCVvm_Xf9Xs56wj>