diff options
author | Robin Getz <rgetz@blackfin.uclinux.org> | 2009-01-07 10:14:39 -0500 |
---|---|---|
committer | Bryan Wu <cooloney@kernel.org> | 2009-01-07 10:14:39 -0500 |
commit | 7419a327f6264bef869b195497aaf03b72ca17b7 (patch) | |
tree | d260797e70b6a6ab44e66c365c55de3e8b531b28 /arch | |
parent | fea05dacdabe14d875093daa2fb6135fa4950142 (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')
-rw-r--r-- | arch/blackfin/kernel/setup.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/blackfin/kernel/setup.c b/arch/blackfin/kernel/setup.c index 4dffb913147..d3d37e7f465 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", |