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

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

 




> 2023年4月8日 01:30,Guenter Roeck <linux@xxxxxxxxxxxx> 写道:
> 
> On 4/7/23 15:35, Jiaxun Yang wrote:
>> MIPS MT ASE is only available on ISA between Release 1 and Release 5.
>> Add ISA level dependency to Kconfig to fix build.
>> Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx>
>> Signed-off-by: Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx>
> 
> With this patch in place, I still get the second build failure.

+ Thomas

Seems like PTE bits are overflowing again.

Last time we trade PTE special against RIXI, now I think we need to decide between PTE special
and hugepage?

> 
> In file included from <command-line>:
> arch/mips/mm/init.c: In function 'mem_init':
> ././include/linux/compiler_types.h:397:45: error: call to '__compiletime_assert_437' declared with attribute error: BUILD_BUG_ON failed: IS_ENABLED(CONFIG_32BIT) && (_PFN_SHIFT > PAGE_SHIFT)
>  397 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
>      |                                             ^
> ././include/linux/compiler_types.h:378:25: note: in definition of macro '__compiletime_assert'
>  378 |                         prefix ## suffix();                             \
>      |                         ^~~~~~
> ././include/linux/compiler_types.h:397:9: note: in expansion of macro '_compiletime_assert'
>  397 |         _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
>      |         ^~~~~~~~~~~~~~~~~~~
> ./include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
>   39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
>      |                                     ^~~~~~~~~~~~~~~~~~
> ./include/linux/build_bug.h:50:9: note: in expansion of macro 'BUILD_BUG_ON_MSG'
>   50 |         BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
>      |         ^~~~~~~~~~~~~~~~
> arch/mips/mm/init.c:454:9: note: in expansion of macro 'BUILD_BUG_ON'
>  454 |         BUILD_BUG_ON(IS_ENABLED(CONFIG_32BIT) && (_PFN_SHIFT > PAGE_SHIFT));
> 
> Also, MIPS_MT_SMP is disabled, CONFIG_TARGET_ISA_REV=0, and CPU_MIPSR{1,2,6}
> is not set. Prior to "MIPS: generic: Enable all CPUs supported by virt board
> in Kconfig", the configuration was
> 
> CONFIG_CPU_MIPS32_R1=y
> CONFIG_CPU_MIPS32=y
> CONFIG_CPU_MIPSR1=y
> CONFIG_TARGET_ISA_REV=1
> CONFIG_MIPS_MT_SMP=y
> 
> Ultimately it is not my decision to make what should be enabled with
> mips:allmodconfig, but to me it looks like "MIPS: generic: Enable all CPUs
> supported by virt board in Kconfig" doesn't enable but disable various
> configurations.

Indeed, as R4000 has less features so it must disable more options.

To get maximum coverage on allmodconfig I think we’d better set default CPU to MIPS64R2
which have more features and wider user base.

Also default to build 64 bit kernel if it’s supported by CPU.

Thanks.
Jiaxun


> 
> Thanks,
> Guenter
> 





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

  Powered by Linux