summaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2008-07-02 17:46:40 +0900
committerPaul Mundt <lethal@linux-sh.org>2008-07-28 18:10:32 +0900
commit068f59143d821553e7a55cdbd69142b05e245d47 (patch)
tree12ce88fa8d041c2bc3095b4f5561bea2d3e141ff /arch/sh/kernel
parent09b5a10c1944214a6008712bfa92b29f00b84a1a (diff)
sh: Record the major cut revision for probed SH-4A parts.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel')
-rw-r--r--arch/sh/kernel/cpu/sh4/probe.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/sh/kernel/cpu/sh4/probe.c b/arch/sh/kernel/cpu/sh4/probe.c
index db442f37852..2e42572b1b1 100644
--- a/arch/sh/kernel/cpu/sh4/probe.c
+++ b/arch/sh/kernel/cpu/sh4/probe.c
@@ -50,23 +50,24 @@ int __init detect_cpu_and_cache_system(void)
boot_cpu_data.dcache.ways = 1;
boot_cpu_data.dcache.linesz = L1_CACHE_BYTES;
+ /* We don't know the chip cut */
+ boot_cpu_data.cut_major = boot_cpu_data.cut_minor = -1;
+
/*
* Setup some generic flags we can probe on SH-4A parts
*/
- if (((pvr >> 24) & 0xff) == 0x10) {
+ if (((pvr >> 16) & 0xff) == 0x10) {
if ((cvr & 0x10000000) == 0)
boot_cpu_data.flags |= CPU_HAS_DSP;
boot_cpu_data.flags |= CPU_HAS_LLSC;
+ boot_cpu_data.cut_major = pvr & 0x7f;
}
/* FPU detection works for everyone */
if ((cvr & 0x20000000) == 1)
boot_cpu_data.flags |= CPU_HAS_FPU;
- /* We don't know the chip cut */
- boot_cpu_data.cut_major = boot_cpu_data.cut_minor = -1;
-
/* Mask off the upper chip ID */
pvr &= 0xffff;