aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/kernel
diff options
context:
space:
mode:
authorRobin Getz <rgetz@blackfin.uclinux.org>2009-01-07 10:14:39 -0500
committerBryan Wu <cooloney@kernel.org>2009-01-07 10:14:39 -0500
commit7419a327f6264bef869b195497aaf03b72ca17b7 (patch)
treed260797e70b6a6ab44e66c365c55de3e8b531b28 /arch/blackfin/kernel
parentfea05dacdabe14d875093daa2fb6135fa4950142 (diff)
Blackfin arch: panic when running on a chip rev below what we are compiled for
If we are running on a chip revision below what we are compiled for, there will be missing anomaly workarounds, and a panic is inevitable. Do is sooner, rather than later, so people don't look for bugs that already have workarounds (that they turned off). Signed-off-by: Robin Getz <rgetz@blackfin.uclinux.org> Signed-off-by: Bryan Wu <cooloney@kernel.org>
Diffstat (limited to 'arch/blackfin/kernel')
-rw-r--r--arch/blackfin/kernel/setup.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c
index 4dffb913147e..d3d37e7f465b 100644
--- a/arch/blackfin/kernel/setup.c
+++ b/arch/blackfin/kernel/setup.c
@@ -876,9 +876,12 @@ void __init setup_arch(char **cmdline_p)
876 if (bfin_compiled_revid() == -1) 876 if (bfin_compiled_revid() == -1)
877 printk(KERN_ERR "Warning: Compiled for Rev none, but running on Rev %d\n", 877 printk(KERN_ERR "Warning: Compiled for Rev none, but running on Rev %d\n",
878 bfin_revid()); 878 bfin_revid());
879 else if (bfin_compiled_revid() != 0xffff) 879 else if (bfin_compiled_revid() != 0xffff) {
880 printk(KERN_ERR "Warning: Compiled for Rev %d, but running on Rev %d\n", 880 printk(KERN_ERR "Warning: Compiled for Rev %d, but running on Rev %d\n",
881 bfin_compiled_revid(), bfin_revid()); 881 bfin_compiled_revid(), bfin_revid());
882 if (bfin_compiled_revid() > bfin_revid())
883 panic("Error: you are missing anomaly workarounds for this rev\n");
884 }
882 } 885 }
883 if (bfin_revid() < CONFIG_BF_REV_MIN || bfin_revid() > CONFIG_BF_REV_MAX) 886 if (bfin_revid() < CONFIG_BF_REV_MIN || bfin_revid() > CONFIG_BF_REV_MAX)
884 printk(KERN_ERR "Warning: Unsupported Chip Revision ADSP-%s Rev 0.%d detected\n", 887 printk(KERN_ERR "Warning: Unsupported Chip Revision ADSP-%s Rev 0.%d detected\n",