Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Sep 2013 05:20:39 -0700
From:      Adrian Chadd <adrian@freebsd.org>
To:        Warner Losh <imp@bsdimp.com>
Cc:        "freebsd-mips@freebsd.org" <freebsd-mips@freebsd.org>
Subject:   Re: Bringing up mips74k support
Message-ID:  <CAJ-VmomwaPv%2Bytxyt8zJXwqMZ5T7i5qA-j10LMeJwNT-VYOPBw@mail.gmail.com>
In-Reply-To: <4BA72281-B170-4880-94B3-4C57F4E10FA4@bsdimp.com>
References:  <CAJ-Vmo=68miQTTaKEVh-nNdg=Ep8wzS1wyd0y8L_igVQmq5mqw@mail.gmail.com> <4BA72281-B170-4880-94B3-4C57F4E10FA4@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On 28 September 2013 02:33, Warner Losh <imp@bsdimp.com> wrote:

>
> On Sep 28, 2013, at 11:20 AM, Adrian Chadd wrote:
>
> > Hi,
> >
> > I'll post a patch soon, but the TL;DR version:
> >
> > * the CCA attributes are different on mips74k. I think the cached
> > attribtute is 0x0, rather than the default. Check the mips platform
> support
> > on netbsd - it has a special case for mips74k.
> > * The hazard should be EHB, not NOP or SSNOP
> > * .. should the hazard be SSNOP for mips24k, rather than "nop;nop;nop.."
> ?
> > * We're missing hazards around the TLB operations in various places in .c
> > and .S code, sigh.
>
> Not all TLB operations have hazards... :)  So I'd want to know if they are
> all needed.
>
> > But with the above, it's enough to bring the AR9344 up to mountroot> .
>
> Woot! Let's do a code review at EuroBSDCon....
>
>
So the brainstorm so far:

* Need to teach the cache coherency attributes about the mips74k
requirements;
* Need to identify exactly what COP0_SYNC and HAZARD should be for each CPU
family/type;
* Need to identify exactly where COP0_SYNC and HAZARD should be used for
each CPU family/type;
* Need to look at whether we should be using SSNOP in the delay slots after
various things (eg jumps.)

I'm reviewing the See Mips Run (2nd Ed) section on Hazards (Section 3.4.)
Hopefully Warner and I can figure this particular hilarity out.

Thanks,



-adrian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmomwaPv%2Bytxyt8zJXwqMZ5T7i5qA-j10LMeJwNT-VYOPBw>