summaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/cpu/sh4
diff options
context:
space:
mode:
authorPaul Mundt2008-07-02 10:46:40 +0200
committerPaul Mundt2008-07-28 11:10:32 +0200
commit068f59143d821553e7a55cdbd69142b05e245d47 (patch)
tree12ce88fa8d041c2bc3095b4f5561bea2d3e141ff /arch/sh/kernel/cpu/sh4
parentsh: Optimized flush_icache_range() implementation. (diff)
downloadkernel-qcow2-linux-068f59143d821553e7a55cdbd69142b05e245d47.tar.gz
kernel-qcow2-linux-068f59143d821553e7a55cdbd69142b05e245d47.tar.xz
kernel-qcow2-linux-068f59143d821553e7a55cdbd69142b05e245d47.zip
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/cpu/sh4')
-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 db442f37852d..2e42572b1b11 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;