]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
MIPS: SiByte: Bring back cache initialisation
authorMaciej W. Rozycki <macro@orcam.me.uk>
Fri, 27 Mar 2026 11:38:06 +0000 (11:38 +0000)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Wed, 1 Apr 2026 19:51:55 +0000 (21:51 +0200)
Bring back cache initialisation for Broadcom SiByte SB1 cores, which has
been removed causing the kernel to hang at bootstrap right after:

Dentry cache hash table entries: 524288 (order: 8, 4194304 bytes, linear)
Inode-cache hash table entries: 262144 (order: 7, 2097152 bytes, linear)

The cause of the problem is R4k cache handlers are also used by Broadcom
SiByte SB1 cores, however with a different cache error exception handler
and therefore not using CPU_R4K_CACHE_TLB:

obj-$(CONFIG_CPU_R4K_CACHE_TLB) += c-r4k.o cex-gen.o tlb-r4k.o
obj-$(CONFIG_CPU_SB1)           += c-r4k.o cerr-sb1.o cex-sb1.o tlb-r4k.o

(from arch/mips/mm/Makefile).

Fixes: bbe4f634f48c ("mips: fix r3k_cache_init build regression")
Signed-off-by: Maciej W. Rozycki <macro@orcam.me.uk>
Cc: stable@vger.kernel.org # v6.8+
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/mm/cache.c

index e3b4224c9a4061764897cbeae0bb51e2adc9d74a..ad9b0430a28e2d4845697395a608e2aea61e05a3 100644 (file)
@@ -207,7 +207,8 @@ void cpu_cache_init(void)
 {
        if (IS_ENABLED(CONFIG_CPU_R3000) && cpu_has_3k_cache)
                r3k_cache_init();
-       if (IS_ENABLED(CONFIG_CPU_R4K_CACHE_TLB) && cpu_has_4k_cache)
+       if ((IS_ENABLED(CONFIG_CPU_R4K_CACHE_TLB) ||
+            IS_ENABLED(CONFIG_CPU_SB1)) && cpu_has_4k_cache)
                r4k_cache_init();
 
        if (IS_ENABLED(CONFIG_CPU_CAVIUM_OCTEON) && cpu_has_octeon_cache)