> 2023年5月30日 13:51,Serge Semin <fancer.lancer@xxxxxxxxx> 写道: > > On Tue, May 30, 2023 at 03:41:30PM +0300, Serge Semin wrote: >> On Tue, May 30, 2023 at 01:16:32PM +0100, Maciej W. Rozycki wrote: >>> On Tue, 30 May 2023, Jiaxun Yang wrote: >>> >>>>> Sure, but this change is not needed for it. You just need to declare >>>>> which ISA revisions your platform supports and leave `__get_cpu_type' >>>>> alone. It has worked like that for a decade now. >>>> >>>> I’m afraid it won’t work as you expected. >>>> >>>> Actually I ran into a problem that `case CPU_P5600` in c-r4k.c is optimised out >>>> by compiler, because the codepath is marked as unreachable. >>> >>> Maybe there's a bug elsewhere then. Send me your .config and I'll try to >>> reproduce it. >> >> I may have misunderstood something, but it seems like there is no such >> problem on my P5600 system: >> >> [fancer@mobilestation] kernel $ grep -r P5600 -B2 -A2 arch/mips/mm/c-r4k.c >> case CPU_1004K: >> case CPU_INTERAPTIV: >> case CPU_P5600: >> case CPU_PROAPTIV: >> case CPU_M5150: >> -- >> case CPU_P6600: >> case CPU_M6250: >> pr_info("MIPS P5600 is here\n"); >> if (!(read_c0_config7() & MIPS_CONF7_IAR) && >> (c->icache.waysize > PAGE_SIZE)) >> >> Log: >> [ 0.000000] Linux version 6.4.0-rc1-bt1-00235-gf9efd6b74b12-dirty (fancer@mobilestation) (mipsel-baikal-linux-gcc (GCC) 7.3.0, GNU ld (GNU Binutils) 2.30.0.20180208) #1 >> 275 SMP PREEMPT Tue May 30 15:30:48 MSK 2023 >> [ 0.000000] CPU0 revision is: 0001a830 (MIPS P5600) >> [ 0.000000] FPU revision is: 30f30320 >> [ 0.000000] MSA revision is: 00000320 >> ... >> [ 0.000000] VPE topology {1,1} total 2 >> [ 0.000000] MIPS P5600 is here >> ... > > Here is the CPU-related kernel configs: > root@msbt2:~# cat /proc/config.gz | gunzip | grep CPU_MIPS > # CONFIG_CPU_MIPS32_R2 is not set > # CONFIG_CPU_MIPS32_R5 is not set > # CONFIG_CPU_MIPS32_3_5_FEATURES is not set > CONFIG_CPU_MIPS32_R5_FEATURES=y > CONFIG_CPU_MIPS32_R5_XPA=y > CONFIG_SYS_HAS_CPU_MIPS32_R2=y > CONFIG_SYS_HAS_CPU_MIPS32_R3_5=y > CONFIG_SYS_HAS_CPU_MIPS32_R5=y > CONFIG_CPU_MIPS32=y > CONFIG_CPU_MIPSR5=y > CONFIG_CPU_MIPSR2_IRQ_VI=y > CONFIG_CPU_MIPSR2_IRQ_EI=y I was trying to run kernel compiled with CONFIG_CPU_MIPS32_R2 on P5600. Thanks - Jiaxun > > -Serge(y) > >> >> -Serge(y) >> >>> >>> Maciej