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