This source file includes following definitions.
- __get_cpu_type
- current_cpu_type
- boot_cpu_type
1
2
3
4
5
6
7
8
9 #ifndef __ASM_CPU_TYPE_H
10 #define __ASM_CPU_TYPE_H
11
12 #include <linux/smp.h>
13 #include <linux/compiler.h>
14
15 static inline int __pure __get_cpu_type(const int cpu_type)
16 {
17 switch (cpu_type) {
18 #if defined(CONFIG_SYS_HAS_CPU_LOONGSON2E) || \
19 defined(CONFIG_SYS_HAS_CPU_LOONGSON2F)
20 case CPU_LOONGSON2:
21 #endif
22
23 #ifdef CONFIG_SYS_HAS_CPU_LOONGSON3
24 case CPU_LOONGSON3:
25 #endif
26
27 #if defined(CONFIG_SYS_HAS_CPU_LOONGSON1B) || \
28 defined(CONFIG_SYS_HAS_CPU_LOONGSON1C)
29 case CPU_LOONGSON1:
30 #endif
31
32 #ifdef CONFIG_SYS_HAS_CPU_MIPS32_R1
33 case CPU_4KC:
34 case CPU_ALCHEMY:
35 case CPU_PR4450:
36 #endif
37
38 #if defined(CONFIG_SYS_HAS_CPU_MIPS32_R1) || \
39 defined(CONFIG_SYS_HAS_CPU_MIPS32_R2)
40 case CPU_4KEC:
41 case CPU_XBURST:
42 #endif
43
44 #ifdef CONFIG_SYS_HAS_CPU_MIPS32_R2
45 case CPU_4KSC:
46 case CPU_24K:
47 case CPU_34K:
48 case CPU_1004K:
49 case CPU_74K:
50 case CPU_M14KC:
51 case CPU_M14KEC:
52 case CPU_INTERAPTIV:
53 case CPU_PROAPTIV:
54 case CPU_P5600:
55 case CPU_M5150:
56 #endif
57
58 #if defined(CONFIG_SYS_HAS_CPU_MIPS32_R2) || \
59 defined(CONFIG_SYS_HAS_CPU_MIPS32_R6) || \
60 defined(CONFIG_SYS_HAS_CPU_MIPS64_R2) || \
61 defined(CONFIG_SYS_HAS_CPU_MIPS64_R6)
62 case CPU_QEMU_GENERIC:
63 #endif
64
65 #ifdef CONFIG_SYS_HAS_CPU_MIPS64_R1
66 case CPU_5KC:
67 case CPU_5KE:
68 case CPU_20KC:
69 case CPU_25KF:
70 case CPU_SB1:
71 case CPU_SB1A:
72 #endif
73
74 #ifdef CONFIG_SYS_HAS_CPU_MIPS64_R2
75
76
77
78
79 #endif
80
81 #ifdef CONFIG_SYS_HAS_CPU_MIPS32_R6
82 case CPU_M6250:
83 #endif
84
85 #ifdef CONFIG_SYS_HAS_CPU_MIPS64_R6
86 case CPU_I6400:
87 case CPU_I6500:
88 case CPU_P6600:
89 #endif
90
91 #ifdef CONFIG_SYS_HAS_CPU_R3000
92 case CPU_R2000:
93 case CPU_R3000:
94 case CPU_R3000A:
95 case CPU_R3041:
96 case CPU_R3051:
97 case CPU_R3052:
98 case CPU_R3081:
99 case CPU_R3081E:
100 #endif
101
102 #ifdef CONFIG_SYS_HAS_CPU_TX39XX
103 case CPU_TX3912:
104 case CPU_TX3922:
105 case CPU_TX3927:
106 #endif
107
108 #ifdef CONFIG_SYS_HAS_CPU_VR41XX
109 case CPU_VR41XX:
110 case CPU_VR4111:
111 case CPU_VR4121:
112 case CPU_VR4122:
113 case CPU_VR4131:
114 case CPU_VR4133:
115 case CPU_VR4181:
116 case CPU_VR4181A:
117 #endif
118
119 #ifdef CONFIG_SYS_HAS_CPU_R4X00
120 case CPU_R4000PC:
121 case CPU_R4000SC:
122 case CPU_R4000MC:
123 case CPU_R4200:
124 case CPU_R4400PC:
125 case CPU_R4400SC:
126 case CPU_R4400MC:
127 case CPU_R4600:
128 case CPU_R4700:
129 case CPU_R4640:
130 case CPU_R4650:
131 #endif
132
133 #ifdef CONFIG_SYS_HAS_CPU_TX49XX
134 case CPU_TX49XX:
135 #endif
136
137 #ifdef CONFIG_SYS_HAS_CPU_R5000
138 case CPU_R5000:
139 #endif
140
141 #ifdef CONFIG_SYS_HAS_CPU_R5500
142 case CPU_R5500:
143 #endif
144
145 #ifdef CONFIG_SYS_HAS_CPU_NEVADA
146 case CPU_NEVADA:
147 #endif
148
149 #ifdef CONFIG_SYS_HAS_CPU_R10000
150 case CPU_R10000:
151 case CPU_R12000:
152 case CPU_R14000:
153 case CPU_R16000:
154 #endif
155 #ifdef CONFIG_SYS_HAS_CPU_RM7000
156 case CPU_RM7000:
157 case CPU_SR71000:
158 #endif
159 #ifdef CONFIG_SYS_HAS_CPU_SB1
160 case CPU_SB1:
161 case CPU_SB1A:
162 #endif
163 #ifdef CONFIG_SYS_HAS_CPU_CAVIUM_OCTEON
164 case CPU_CAVIUM_OCTEON:
165 case CPU_CAVIUM_OCTEON_PLUS:
166 case CPU_CAVIUM_OCTEON2:
167 case CPU_CAVIUM_OCTEON3:
168 #endif
169
170 #if defined(CONFIG_SYS_HAS_CPU_BMIPS32_3300) || \
171 defined (CONFIG_SYS_HAS_CPU_MIPS32_R1)
172 case CPU_BMIPS32:
173 case CPU_BMIPS3300:
174 #endif
175
176 #ifdef CONFIG_SYS_HAS_CPU_BMIPS4350
177 case CPU_BMIPS4350:
178 #endif
179
180 #ifdef CONFIG_SYS_HAS_CPU_BMIPS4380
181 case CPU_BMIPS4380:
182 #endif
183
184 #ifdef CONFIG_SYS_HAS_CPU_BMIPS5000
185 case CPU_BMIPS5000:
186 #endif
187
188 #ifdef CONFIG_SYS_HAS_CPU_XLP
189 case CPU_XLP:
190 #endif
191
192 #ifdef CONFIG_SYS_HAS_CPU_XLR
193 case CPU_XLR:
194 #endif
195 break;
196 default:
197 unreachable();
198 }
199
200 return cpu_type;
201 }
202
203 static inline int __pure current_cpu_type(void)
204 {
205 const int cpu_type = current_cpu_data.cputype;
206
207 return __get_cpu_type(cpu_type);
208 }
209
210 static inline int __pure boot_cpu_type(void)
211 {
212 const int cpu_type = cpu_data[0].cputype;
213
214 return __get_cpu_type(cpu_type);
215 }
216
217 #endif