diff options
author | Paul Mundt | 2008-07-02 10:46:40 +0200 |
---|---|---|
committer | Paul Mundt | 2008-07-28 11:10:32 +0200 |
commit | 068f59143d821553e7a55cdbd69142b05e245d47 (patch) | |
tree | 12ce88fa8d041c2bc3095b4f5561bea2d3e141ff /arch/sh/kernel/cpu/sh4 | |
parent | sh: Optimized flush_icache_range() implementation. (diff) | |
download | kernel-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.c | 9 |
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; |