Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Dec 2018 07:53:41 +0900 (JST)
From:      Mori Hiroki <yamori813@yahoo.co.jp>
To:        Warner Losh <imp@bsdimp.com>, "freebsd-mips@freebsd.org" <freebsd-mips@freebsd.org>
Subject:   Re: MIPS future...
Message-ID:  <367298.45441.qm@web103901.mail.ssk.yahoo.co.jp>
In-Reply-To: <CANCZdfq8PMDdnEnBeBsQ-evJph9Bf1P-gp3v3DYzeUWHV5FOAw@mail.gmail.com>
References:  <CANCZdfpK5mPDDgpJ5PVhXF7-MixSouW8mAKkWQcaRnmYW%2Bpy0g@mail.gmail.com> <CANCZdfq8PMDdnEnBeBsQ-evJph9Bf1P-gp3v3DYzeUWHV5FOAw@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
=0A=0AHi=0A=0A=0A----- Original Message -----=0A>From: Warner Losh <imp@bsd=
imp.com>=0A>To: "freebsd-mips@freebsd.org" <freebsd-mips@freebsd.org> =0A>D=
ate: 2018/12/13, Thu 07:15=0A>Subject: Re: MIPS future...=0A> =0A>On Wed, D=
ec 12, 2018 at 11:15 AM Warner Losh <imp@bsdimp.com> wrote:=0A>=0A>> OK. To=
 be a good player in the FreeBSD ecosystem, we need to do=A0 a few=0A>> thi=
ngs.=0A>>=0A>> First, we need to implement atomic_swap_64. hps did this for=
 mips64 and=0A>> committed it. He sent me some further patches for it that =
I need to commit=0A>> when I get a change, maybe at the airport tonight.=0A=
>>=0A>> But this brings up a couple of issues I'd like to bring up.=0A>>=0A=
>> First, to implement atomic_swap_64 on mips-32 is hard. In that it's not=
=0A>> just the canonical ldd/sdd sequence because those aren't available th=
ere.=0A>> We can do the standard trick of reading STATUS0, clearing IE, sto=
ring it,=0A>> do the operation and then restoring STATUS0. This is efficien=
t enough for=0A>> the use in the kernel for the supported cores we have.=0A=
>>=0A>> With two exceptions. First is running 32-bit kernels on 64-bit hard=
ware.=0A>> We deprecated that with Octeon because of the weird hacks we nee=
ded to do=0A>> too make it work. I'd like to universally deprecate this. Th=
ere's little=0A>> benefit and a real cost to doing this. I'd like to remove=
 the SWARM_SMP,=0A>> XLP, and GXEMUL32 (or at least remove the smp option).=
=0A>>=0A>> But there's JZ4780. It's a legit mips32 + SMP. It's on Image Cre=
ator's=0A>> CI20. This was released in Nov 2014 with a refresh in March 201=
5. This is a=0A>> dead-end product line (there's no new cores and none new =
that I can find).=0A>> This was a RPi competitor, but it was slower, less c=
apable and more=0A>> expensive so it's kinda rare now. I'd say we need to d=
e-support this=0A>> device. I know of only one user, and he's not responded=
 to my email. I=0A>> think 12 will have to be the last release we have this=
 in. Today, the only=0A>> affect is for some drivers that can't run on this=
 platform, but the writing=0A>> is on the wall.=0A>>=0A>> That brings me to=
 my next question: SWARM. Can we kill SWARM entirely?=0A>> It's for the BCM=
1250 part, released in sometime before 2000. It was super=0A>> popular beca=
use it was the reference for a ton of things that followed. I=0A>> think it=
's run is over and we can remove it. I can find no users of it in=0A>> the =
nyc dmesg database. Mine has been in a plastic bag since before my sone=0A>=
> was born in 2006... So I'm thinking we can remove this platform. It was o=
n=0A>> the edge last time I did a GC in mips-land.=0A>>=0A>> And then there=
's the even larger question: how many people are still using=0A>> mips32? I=
t looks like a fair number, maybe, but I have no idea for sure, so=0A>> if =
you do, please provide feedback on the platforms you are running FreeBSD=0A=
>> 11 or newer on.=0A>>=0A>=0A>There's one last issue this brings up. When =
writing the above code, I=0A>discovered I could use the non-racy DI instruc=
tion. However, that was=0A>introduced with mips32r2. This was defined in 20=
02 and gear appeared in the=0A>market 2004 or 2005. I believe that all supp=
orted SoCs have mips32r2. SWARM=0A>doesn't, which is another reason to kill=
 it: it's getting in the way and=0A>providing no benefit. Would anybody obj=
ect to the minimum ISA being raised=0A>to mips32r2 for all 32-bit mips plat=
forms?=0A>=0A>Warner=0A>_______________________________________________=0A>=
freebsd-mips@freebsd.org mailing list=0A>https://lists.freebsd.org/mailman/=
listinfo/freebsd-mips=0A>To unsubscribe, send any mail to "freebsd-mips-uns=
ubscribe@freebsd.org"=0A>=0A>=0A>=0A=0Amips32 is called by 4K=0Amips32r2 is=
 called by 24K=0A=0AIn current FreeBSD mips support at 4K is Rakink RT2880 =
and Atheros=0AAR531x. Ralink RT3050 later and Newer Atheros is 24K or 74K.=
=0A=0A=0AAlso Broadcom BCM4712 and BCM5354 is 4K but it's still hangup. Las=
t=0ABroadcom MIPS soc that is BCM4718 and BCM5357 is 74K.=0A=0AI have quest=
ion. Can do generate 24K code by gcc 4.2.1 and binutils?=0A=0A=0AHiroki Mor=
i=0A



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?367298.45441.qm>