diff options
Diffstat (limited to 'arch/sh/include/asm/processor.h')
-rw-r--r-- | arch/sh/include/asm/processor.h | 44 |
1 files changed, 43 insertions, 1 deletions
diff --git a/arch/sh/include/asm/processor.h b/arch/sh/include/asm/processor.h index 15d9f92ca383..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,11 +44,52 @@ 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 | */ | ||
52 | struct 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 | |||
63 | struct 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 | |||
80 | extern 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 */ |
47 | struct sh_cpuinfo; | 86 | struct seq_operations; |
87 | |||
88 | extern struct pt_regs fake_swapper_regs; | ||
48 | 89 | ||
49 | /* arch/sh/kernel/setup.c */ | 90 | /* arch/sh/kernel/setup.c */ |
50 | const char *get_cpu_subtype(struct sh_cpuinfo *c); | 91 | const char *get_cpu_subtype(struct sh_cpuinfo *c); |
92 | extern const struct seq_operations cpuinfo_op; | ||
51 | 93 | ||
52 | #ifdef CONFIG_VSYSCALL | 94 | #ifdef CONFIG_VSYSCALL |
53 | int vsyscall_init(void); | 95 | int vsyscall_init(void); |