[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.21.2405150850270.45291@angie.orcam.me.uk>
Date: Wed, 15 May 2024 14:43:06 +0100 (BST)
From: "Maciej W. Rozycki" <macro@...am.me.uk>
To: Jiaxun Yang <jiaxun.yang@...goat.com>
cc: Thomas Bogendoerfer <tsbogend@...ha.franken.de>,
Nathan Chancellor <nathan@...nel.org>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Bill Wendling <morbo@...gle.com>, Justin Stitt <justinstitt@...gle.com>,
"linux-mips@...r.kernel.org" <linux-mips@...r.kernel.org>,
linux-kernel@...r.kernel.org, llvm@...ts.linux.dev,
Guenter Roeck <linux@...ck-us.net>
Subject: Re: [PATCH 6/8] MIPS: Limit MIPS_MT_SMP support by ISA reversion
On Wed, 15 May 2024, Jiaxun Yang wrote:
> >> MIPS MT ASE is only available on ISA between Release 1 and Release 5.
> >
> > R2+ only actually, as also evident from Kconfig...
>
> Hi Maciej,
>
> Long time no see :-)
It's not so easy to get rid of me. ;)
> There is nothing stopping us to run R1 kernel on R2 hardware, given that
> those features are all detected at boot time. I understand MT was introduced
> at 34K which is R2.
We can certainly choose to support R2 features at run time with R1 kernel
configurations, but it's not what the change description says (left quoted
above for reference). And the MT ASE, indeed first implemented with the
34K (for which I was a member of the product development team back at MIPS
UK), is not a part of the R1 ISA specification set.
> >> --- a/arch/mips/Kconfig
> >> +++ b/arch/mips/Kconfig
> >> @@ -2171,7 +2171,8 @@ config CPU_R4K_CACHE_TLB
> >> config MIPS_MT_SMP
> >> bool "MIPS MT SMP support (1 TC on each available VPE)"
> >> default y
> >> - depends on SYS_SUPPORTS_MULTITHREADING && !CPU_MIPSR6 && !CPU_MICROMIPS
> >> + depends on TARGET_ISA_REV > 0 && TARGET_ISA_REV < 6
> >> + depends on SYS_SUPPORTS_MULTITHREADING && !CPU_MICROMIPS
> >> select CPU_MIPSR2_IRQ_VI
> >> select CPU_MIPSR2_IRQ_EI
> > ^^^^^^
> > ... here. I wish people looked beyond the line they change, sigh...
>
> Both features (VI and VEIC) are probed at boot time. Selecting
> them doesn't necessarily mean that CPU has those functions.
Both are optional for R2+, so necessarily they need to be probed for, but
they are not available in R1. The reverse dependency set here is another
indication that the MT ASE is an R2+ feature.
Maciej
Powered by blists - more mailing lists