hc
2024-01-31 f70575805708cabdedea7498aaa3f710fde4d920
kernel/arch/mips/bmips/setup.c
....@@ -34,6 +34,8 @@
3434 #define REG_BCM6328_OTP ((void __iomem *)CKSEG1ADDR(0x1000062c))
3535 #define BCM6328_TP1_DISABLED BIT(9)
3636
37
+extern bool bmips_rac_flush_disable;
38
+
3739 static const unsigned long kbase = VMLINUX_LOAD_ADDRESS & 0xfff00000;
3840
3941 struct bmips_quirk {
....@@ -103,6 +105,12 @@
103105 * disable SMP for now
104106 */
105107 bmips_smp_enabled = 0;
108
+
109
+ /*
110
+ * RAC flush causes kernel panics on BCM6358 when booting from TP1
111
+ * because the bootloader is not initializing it properly.
112
+ */
113
+ bmips_rac_flush_disable = !!(read_c0_brcm_cmt_local() & (1 << 31));
106114 }
107115
108116 static void bcm6368_quirks(void)