Re: [PATCH 6/8] MIPS: Limit MIPS_MT_SMP support by ISA reversion

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux