Bladeren bron

Blackfin arch: Random read/write errors are a bad thing

Random read/write errors are a bad thing - so don't let anyone
(including the test bench) run on something we know is bad.

Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Robin Getz 16 jaren geleden
bovenliggende
commit
0004952242
2 gewijzigde bestanden met toevoegingen van 10 en 0 verwijderingen
  1. 4 0
      arch/blackfin/kernel/setup.c
  2. 6 0
      arch/blackfin/mach-common/arch_checks.c

+ 4 - 0
arch/blackfin/kernel/setup.c

@@ -889,6 +889,10 @@ void __init setup_arch(char **cmdline_p)
 			       CPU, bfin_revid());
 	}
 
+	/* We can't run on BF548-0.1 due to ANOMALY 05000448 */
+	if (bfin_cpuid() == 0x27de && bfin_revid() == 1)
+		panic("You can't run on this processor due to 05000448\n");
+
 	printk(KERN_INFO "Blackfin Linux support by http://blackfin.uclinux.org/\n");
 
 	printk(KERN_INFO "Processor Speed: %lu MHz core clock and %lu MHz System Clock\n",

+ 6 - 0
arch/blackfin/mach-common/arch_checks.c

@@ -67,3 +67,9 @@
 #if ((0xffffffff - L1_CODE_START + 1) + CONFIG_BOOT_LOAD) > 0x1000000
 # error "The kernel load address is too high; keep it below 10meg for safety"
 #endif
+
+#ifdef ANOMALY_05000448
+# if ANOMALY_05000448
+#  error You are using a part with anomaly 05000448, this issue causes random memory read/write failures - that means random crashes.
+# endif
+#endif