aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/include/asm/processor.h
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2008-09-17 10:24:02 -0400
committerPaul Mundt <lethal@linux-sh.org>2008-09-17 10:24:02 -0400
commit81b669952ed5fe0d6f65f8b9a97d1fdeac93ff10 (patch)
tree219d4c3b78017d2df96457136d61948ccac267ec /arch/sh/include/asm/processor.h
parent8a80a5e9e89cf3aacf8165dd34b40c7c3fe91b4d (diff)
sh: Consolidate struct sh_cpuinfo definitions across _32/_64 split.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/include/asm/processor.h')
-rw-r--r--arch/sh/include/asm/processor.h40
1 files changed, 39 insertions, 1 deletions
diff --git a/arch/sh/include/asm/processor.h b/arch/sh/include/asm/processor.h
index 58e2be55ab93..693364a20ad7 100644
--- a/arch/sh/include/asm/processor.h
+++ b/arch/sh/include/asm/processor.h
@@ -3,6 +3,7 @@
3 3
4#include <asm/cpu-features.h> 4#include <asm/cpu-features.h>
5#include <asm/segment.h> 5#include <asm/segment.h>
6#include <asm/cache.h>
6 7
7#ifndef __ASSEMBLY__ 8#ifndef __ASSEMBLY__
8/* 9/*
@@ -43,8 +44,45 @@ enum cpu_type {
43 CPU_SH_NONE 44 CPU_SH_NONE
44}; 45};
45 46
47/*
48 * TLB information structure
49 *
50 * Defined for both I and D tlb, per-processor.
51 */
52struct tlb_info {
53 unsigned long long next;
54 unsigned long long first;
55 unsigned long long last;
56
57 unsigned int entries;
58 unsigned int step;
59
60 unsigned long flags;
61};
62
63struct sh_cpuinfo {
64 unsigned int type;
65 int cut_major, cut_minor;
66 unsigned long loops_per_jiffy;
67 unsigned long asid_cache;
68
69 struct cache_info icache; /* Primary I-cache */
70 struct cache_info dcache; /* Primary D-cache */
71 struct cache_info scache; /* Secondary cache */
72
73 /* TLB info */
74 struct tlb_info itlb;
75 struct tlb_info dtlb;
76
77 unsigned long flags;
78} __attribute__ ((aligned(L1_CACHE_BYTES)));
79
80extern struct sh_cpuinfo cpu_data[];
81#define boot_cpu_data cpu_data[0]
82#define current_cpu_data cpu_data[smp_processor_id()]
83#define raw_current_cpu_data cpu_data[raw_smp_processor_id()]
84
46/* Forward decl */ 85/* Forward decl */
47struct sh_cpuinfo;
48struct seq_operations; 86struct seq_operations;
49 87
50extern struct pt_regs fake_swapper_regs; 88extern struct pt_regs fake_swapper_regs;