diff options
Diffstat (limited to 'arch/arm/mm/Kconfig')
-rw-r--r-- | arch/arm/mm/Kconfig | 67 |
1 files changed, 35 insertions, 32 deletions
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig index ecf5e232a6fc..c4bca753165b 100644 --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig | |||
@@ -15,8 +15,8 @@ config CPU_ARM610 | |||
15 | select CPU_32v3 | 15 | select CPU_32v3 |
16 | select CPU_CACHE_V3 | 16 | select CPU_CACHE_V3 |
17 | select CPU_CACHE_VIVT | 17 | select CPU_CACHE_VIVT |
18 | select CPU_COPY_V3 | 18 | select CPU_COPY_V3 if MMU |
19 | select CPU_TLB_V3 | 19 | select CPU_TLB_V3 if MMU |
20 | help | 20 | help |
21 | The ARM610 is the successor to the ARM3 processor | 21 | The ARM610 is the successor to the ARM3 processor |
22 | and was produced by VLSI Technology Inc. | 22 | and was produced by VLSI Technology Inc. |
@@ -31,8 +31,8 @@ config CPU_ARM710 | |||
31 | select CPU_32v3 | 31 | select CPU_32v3 |
32 | select CPU_CACHE_V3 | 32 | select CPU_CACHE_V3 |
33 | select CPU_CACHE_VIVT | 33 | select CPU_CACHE_VIVT |
34 | select CPU_COPY_V3 | 34 | select CPU_COPY_V3 if MMU |
35 | select CPU_TLB_V3 | 35 | select CPU_TLB_V3 if MMU |
36 | help | 36 | help |
37 | A 32-bit RISC microprocessor based on the ARM7 processor core | 37 | A 32-bit RISC microprocessor based on the ARM7 processor core |
38 | designed by Advanced RISC Machines Ltd. The ARM710 is the | 38 | designed by Advanced RISC Machines Ltd. The ARM710 is the |
@@ -50,8 +50,8 @@ config CPU_ARM720T | |||
50 | select CPU_ABRT_LV4T | 50 | select CPU_ABRT_LV4T |
51 | select CPU_CACHE_V4 | 51 | select CPU_CACHE_V4 |
52 | select CPU_CACHE_VIVT | 52 | select CPU_CACHE_VIVT |
53 | select CPU_COPY_V4WT | 53 | select CPU_COPY_V4WT if MMU |
54 | select CPU_TLB_V4WT | 54 | select CPU_TLB_V4WT if MMU |
55 | help | 55 | help |
56 | A 32-bit RISC processor with 8kByte Cache, Write Buffer and | 56 | A 32-bit RISC processor with 8kByte Cache, Write Buffer and |
57 | MMU built around an ARM7TDMI core. | 57 | MMU built around an ARM7TDMI core. |
@@ -68,8 +68,8 @@ config CPU_ARM920T | |||
68 | select CPU_ABRT_EV4T | 68 | select CPU_ABRT_EV4T |
69 | select CPU_CACHE_V4WT | 69 | select CPU_CACHE_V4WT |
70 | select CPU_CACHE_VIVT | 70 | select CPU_CACHE_VIVT |
71 | select CPU_COPY_V4WB | 71 | select CPU_COPY_V4WB if MMU |
72 | select CPU_TLB_V4WBI | 72 | select CPU_TLB_V4WBI if MMU |
73 | help | 73 | help |
74 | The ARM920T is licensed to be produced by numerous vendors, | 74 | The ARM920T is licensed to be produced by numerous vendors, |
75 | and is used in the Maverick EP9312 and the Samsung S3C2410. | 75 | and is used in the Maverick EP9312 and the Samsung S3C2410. |
@@ -89,8 +89,8 @@ config CPU_ARM922T | |||
89 | select CPU_ABRT_EV4T | 89 | select CPU_ABRT_EV4T |
90 | select CPU_CACHE_V4WT | 90 | select CPU_CACHE_V4WT |
91 | select CPU_CACHE_VIVT | 91 | select CPU_CACHE_VIVT |
92 | select CPU_COPY_V4WB | 92 | select CPU_COPY_V4WB if MMU |
93 | select CPU_TLB_V4WBI | 93 | select CPU_TLB_V4WBI if MMU |
94 | help | 94 | help |
95 | The ARM922T is a version of the ARM920T, but with smaller | 95 | The ARM922T is a version of the ARM920T, but with smaller |
96 | instruction and data caches. It is used in Altera's | 96 | instruction and data caches. It is used in Altera's |
@@ -108,8 +108,8 @@ config CPU_ARM925T | |||
108 | select CPU_ABRT_EV4T | 108 | select CPU_ABRT_EV4T |
109 | select CPU_CACHE_V4WT | 109 | select CPU_CACHE_V4WT |
110 | select CPU_CACHE_VIVT | 110 | select CPU_CACHE_VIVT |
111 | select CPU_COPY_V4WB | 111 | select CPU_COPY_V4WB if MMU |
112 | select CPU_TLB_V4WBI | 112 | select CPU_TLB_V4WBI if MMU |
113 | help | 113 | help |
114 | The ARM925T is a mix between the ARM920T and ARM926T, but with | 114 | The ARM925T is a mix between the ARM920T and ARM926T, but with |
115 | different instruction and data caches. It is used in TI's OMAP | 115 | different instruction and data caches. It is used in TI's OMAP |
@@ -126,8 +126,8 @@ config CPU_ARM926T | |||
126 | select CPU_32v5 | 126 | select CPU_32v5 |
127 | select CPU_ABRT_EV5TJ | 127 | select CPU_ABRT_EV5TJ |
128 | select CPU_CACHE_VIVT | 128 | select CPU_CACHE_VIVT |
129 | select CPU_COPY_V4WB | 129 | select CPU_COPY_V4WB if MMU |
130 | select CPU_TLB_V4WBI | 130 | select CPU_TLB_V4WBI if MMU |
131 | help | 131 | help |
132 | This is a variant of the ARM920. It has slightly different | 132 | This is a variant of the ARM920. It has slightly different |
133 | instruction sequences for cache and TLB operations. Curiously, | 133 | instruction sequences for cache and TLB operations. Curiously, |
@@ -144,8 +144,8 @@ config CPU_ARM1020 | |||
144 | select CPU_ABRT_EV4T | 144 | select CPU_ABRT_EV4T |
145 | select CPU_CACHE_V4WT | 145 | select CPU_CACHE_V4WT |
146 | select CPU_CACHE_VIVT | 146 | select CPU_CACHE_VIVT |
147 | select CPU_COPY_V4WB | 147 | select CPU_COPY_V4WB if MMU |
148 | select CPU_TLB_V4WBI | 148 | select CPU_TLB_V4WBI if MMU |
149 | help | 149 | help |
150 | The ARM1020 is the 32K cached version of the ARM10 processor, | 150 | The ARM1020 is the 32K cached version of the ARM10 processor, |
151 | with an addition of a floating-point unit. | 151 | with an addition of a floating-point unit. |
@@ -161,8 +161,8 @@ config CPU_ARM1020E | |||
161 | select CPU_ABRT_EV4T | 161 | select CPU_ABRT_EV4T |
162 | select CPU_CACHE_V4WT | 162 | select CPU_CACHE_V4WT |
163 | select CPU_CACHE_VIVT | 163 | select CPU_CACHE_VIVT |
164 | select CPU_COPY_V4WB | 164 | select CPU_COPY_V4WB if MMU |
165 | select CPU_TLB_V4WBI | 165 | select CPU_TLB_V4WBI if MMU |
166 | depends on n | 166 | depends on n |
167 | 167 | ||
168 | # ARM1022E | 168 | # ARM1022E |
@@ -172,8 +172,8 @@ config CPU_ARM1022 | |||
172 | select CPU_32v5 | 172 | select CPU_32v5 |
173 | select CPU_ABRT_EV4T | 173 | select CPU_ABRT_EV4T |
174 | select CPU_CACHE_VIVT | 174 | select CPU_CACHE_VIVT |
175 | select CPU_COPY_V4WB # can probably do better | 175 | select CPU_COPY_V4WB if MMU # can probably do better |
176 | select CPU_TLB_V4WBI | 176 | select CPU_TLB_V4WBI if MMU |
177 | help | 177 | help |
178 | The ARM1022E is an implementation of the ARMv5TE architecture | 178 | The ARM1022E is an implementation of the ARMv5TE architecture |
179 | based upon the ARM10 integer core with a 16KiB L1 Harvard cache, | 179 | based upon the ARM10 integer core with a 16KiB L1 Harvard cache, |
@@ -189,8 +189,8 @@ config CPU_ARM1026 | |||
189 | select CPU_32v5 | 189 | select CPU_32v5 |
190 | select CPU_ABRT_EV5T # But need Jazelle, but EV5TJ ignores bit 10 | 190 | select CPU_ABRT_EV5T # But need Jazelle, but EV5TJ ignores bit 10 |
191 | select CPU_CACHE_VIVT | 191 | select CPU_CACHE_VIVT |
192 | select CPU_COPY_V4WB # can probably do better | 192 | select CPU_COPY_V4WB if MMU # can probably do better |
193 | select CPU_TLB_V4WBI | 193 | select CPU_TLB_V4WBI if MMU |
194 | help | 194 | help |
195 | The ARM1026EJ-S is an implementation of the ARMv5TEJ architecture | 195 | The ARM1026EJ-S is an implementation of the ARMv5TEJ architecture |
196 | based upon the ARM10 integer core. | 196 | based upon the ARM10 integer core. |
@@ -207,8 +207,8 @@ config CPU_SA110 | |||
207 | select CPU_ABRT_EV4 | 207 | select CPU_ABRT_EV4 |
208 | select CPU_CACHE_V4WB | 208 | select CPU_CACHE_V4WB |
209 | select CPU_CACHE_VIVT | 209 | select CPU_CACHE_VIVT |
210 | select CPU_COPY_V4WB | 210 | select CPU_COPY_V4WB if MMU |
211 | select CPU_TLB_V4WB | 211 | select CPU_TLB_V4WB if MMU |
212 | help | 212 | help |
213 | The Intel StrongARM(R) SA-110 is a 32-bit microprocessor and | 213 | The Intel StrongARM(R) SA-110 is a 32-bit microprocessor and |
214 | is available at five speeds ranging from 100 MHz to 233 MHz. | 214 | is available at five speeds ranging from 100 MHz to 233 MHz. |
@@ -227,7 +227,7 @@ config CPU_SA1100 | |||
227 | select CPU_ABRT_EV4 | 227 | select CPU_ABRT_EV4 |
228 | select CPU_CACHE_V4WB | 228 | select CPU_CACHE_V4WB |
229 | select CPU_CACHE_VIVT | 229 | select CPU_CACHE_VIVT |
230 | select CPU_TLB_V4WB | 230 | select CPU_TLB_V4WB if MMU |
231 | 231 | ||
232 | # XScale | 232 | # XScale |
233 | config CPU_XSCALE | 233 | config CPU_XSCALE |
@@ -237,7 +237,7 @@ config CPU_XSCALE | |||
237 | select CPU_32v5 | 237 | select CPU_32v5 |
238 | select CPU_ABRT_EV5T | 238 | select CPU_ABRT_EV5T |
239 | select CPU_CACHE_VIVT | 239 | select CPU_CACHE_VIVT |
240 | select CPU_TLB_V4WBI | 240 | select CPU_TLB_V4WBI if MMU |
241 | 241 | ||
242 | # XScale Core Version 3 | 242 | # XScale Core Version 3 |
243 | config CPU_XSC3 | 243 | config CPU_XSC3 |
@@ -247,7 +247,7 @@ config CPU_XSC3 | |||
247 | select CPU_32v5 | 247 | select CPU_32v5 |
248 | select CPU_ABRT_EV5T | 248 | select CPU_ABRT_EV5T |
249 | select CPU_CACHE_VIVT | 249 | select CPU_CACHE_VIVT |
250 | select CPU_TLB_V4WBI | 250 | select CPU_TLB_V4WBI if MMU |
251 | select IO_36 | 251 | select IO_36 |
252 | 252 | ||
253 | # ARMv6 | 253 | # ARMv6 |
@@ -258,8 +258,8 @@ config CPU_V6 | |||
258 | select CPU_ABRT_EV6 | 258 | select CPU_ABRT_EV6 |
259 | select CPU_CACHE_V6 | 259 | select CPU_CACHE_V6 |
260 | select CPU_CACHE_VIPT | 260 | select CPU_CACHE_VIPT |
261 | select CPU_COPY_V6 | 261 | select CPU_COPY_V6 if MMU |
262 | select CPU_TLB_V6 | 262 | select CPU_TLB_V6 if MMU |
263 | 263 | ||
264 | # ARMv6k | 264 | # ARMv6k |
265 | config CPU_32v6K | 265 | config CPU_32v6K |
@@ -277,17 +277,17 @@ config CPU_32v6K | |||
277 | # This defines the compiler instruction set which depends on the machine type. | 277 | # This defines the compiler instruction set which depends on the machine type. |
278 | config CPU_32v3 | 278 | config CPU_32v3 |
279 | bool | 279 | bool |
280 | select TLS_REG_EMUL if SMP | 280 | select TLS_REG_EMUL if SMP || !MMU |
281 | select NEEDS_SYSCALL_FOR_CMPXCHG if SMP | 281 | select NEEDS_SYSCALL_FOR_CMPXCHG if SMP |
282 | 282 | ||
283 | config CPU_32v4 | 283 | config CPU_32v4 |
284 | bool | 284 | bool |
285 | select TLS_REG_EMUL if SMP | 285 | select TLS_REG_EMUL if SMP || !MMU |
286 | select NEEDS_SYSCALL_FOR_CMPXCHG if SMP | 286 | select NEEDS_SYSCALL_FOR_CMPXCHG if SMP |
287 | 287 | ||
288 | config CPU_32v5 | 288 | config CPU_32v5 |
289 | bool | 289 | bool |
290 | select TLS_REG_EMUL if SMP | 290 | select TLS_REG_EMUL if SMP || !MMU |
291 | select NEEDS_SYSCALL_FOR_CMPXCHG if SMP | 291 | select NEEDS_SYSCALL_FOR_CMPXCHG if SMP |
292 | 292 | ||
293 | config CPU_32v6 | 293 | config CPU_32v6 |
@@ -334,6 +334,7 @@ config CPU_CACHE_VIVT | |||
334 | config CPU_CACHE_VIPT | 334 | config CPU_CACHE_VIPT |
335 | bool | 335 | bool |
336 | 336 | ||
337 | if MMU | ||
337 | # The copy-page model | 338 | # The copy-page model |
338 | config CPU_COPY_V3 | 339 | config CPU_COPY_V3 |
339 | bool | 340 | bool |
@@ -372,6 +373,8 @@ config CPU_TLB_V4WBI | |||
372 | config CPU_TLB_V6 | 373 | config CPU_TLB_V6 |
373 | bool | 374 | bool |
374 | 375 | ||
376 | endif | ||
377 | |||
375 | # | 378 | # |
376 | # CPU supports 36-bit I/O | 379 | # CPU supports 36-bit I/O |
377 | # | 380 | # |