Skip site navigation (1)Skip section navigation (2)
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>