diff options
Diffstat (limited to 'arch/sh/mm/Kconfig')
-rw-r--r-- | arch/sh/mm/Kconfig | 87 |
1 files changed, 83 insertions, 4 deletions
diff --git a/arch/sh/mm/Kconfig b/arch/sh/mm/Kconfig index 9dd606464d23..29f4ee35c6dc 100644 --- a/arch/sh/mm/Kconfig +++ b/arch/sh/mm/Kconfig | |||
@@ -4,8 +4,12 @@ menu "Processor selection" | |||
4 | # Processor families | 4 | # Processor families |
5 | # | 5 | # |
6 | config CPU_SH2 | 6 | config CPU_SH2 |
7 | select SH_WRITETHROUGH if !CPU_SH2A | ||
7 | bool | 8 | bool |
8 | select SH_WRITETHROUGH | 9 | |
10 | config CPU_SH2A | ||
11 | bool | ||
12 | select CPU_SH2 | ||
9 | 13 | ||
10 | config CPU_SH3 | 14 | config CPU_SH3 |
11 | bool | 15 | bool |
@@ -16,6 +20,7 @@ config CPU_SH4 | |||
16 | bool | 20 | bool |
17 | select CPU_HAS_INTEVT | 21 | select CPU_HAS_INTEVT |
18 | select CPU_HAS_SR_RB | 22 | select CPU_HAS_SR_RB |
23 | select CPU_HAS_PTEA if !CPU_SUBTYPE_ST40 | ||
19 | 24 | ||
20 | config CPU_SH4A | 25 | config CPU_SH4A |
21 | bool | 26 | bool |
@@ -30,6 +35,9 @@ config CPU_SUBTYPE_ST40 | |||
30 | select CPU_SH4 | 35 | select CPU_SH4 |
31 | select CPU_HAS_INTC2_IRQ | 36 | select CPU_HAS_INTC2_IRQ |
32 | 37 | ||
38 | config CPU_SHX2 | ||
39 | bool | ||
40 | |||
33 | # | 41 | # |
34 | # Processor subtypes | 42 | # Processor subtypes |
35 | # | 43 | # |
@@ -40,6 +48,16 @@ config CPU_SUBTYPE_SH7604 | |||
40 | bool "Support SH7604 processor" | 48 | bool "Support SH7604 processor" |
41 | select CPU_SH2 | 49 | select CPU_SH2 |
42 | 50 | ||
51 | config CPU_SUBTYPE_SH7619 | ||
52 | bool "Support SH7619 processor" | ||
53 | select CPU_SH2 | ||
54 | |||
55 | comment "SH-2A Processor Support" | ||
56 | |||
57 | config CPU_SUBTYPE_SH7206 | ||
58 | bool "Support SH7206 processor" | ||
59 | select CPU_SH2A | ||
60 | |||
43 | comment "SH-3 Processor Support" | 61 | comment "SH-3 Processor Support" |
44 | 62 | ||
45 | config CPU_SUBTYPE_SH7300 | 63 | config CPU_SUBTYPE_SH7300 |
@@ -89,6 +107,7 @@ comment "SH-4 Processor Support" | |||
89 | config CPU_SUBTYPE_SH7750 | 107 | config CPU_SUBTYPE_SH7750 |
90 | bool "Support SH7750 processor" | 108 | bool "Support SH7750 processor" |
91 | select CPU_SH4 | 109 | select CPU_SH4 |
110 | select CPU_HAS_IPR_IRQ | ||
92 | help | 111 | help |
93 | Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU. | 112 | Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU. |
94 | 113 | ||
@@ -104,15 +123,18 @@ config CPU_SUBTYPE_SH7750R | |||
104 | bool "Support SH7750R processor" | 123 | bool "Support SH7750R processor" |
105 | select CPU_SH4 | 124 | select CPU_SH4 |
106 | select CPU_SUBTYPE_SH7750 | 125 | select CPU_SUBTYPE_SH7750 |
126 | select CPU_HAS_IPR_IRQ | ||
107 | 127 | ||
108 | config CPU_SUBTYPE_SH7750S | 128 | config CPU_SUBTYPE_SH7750S |
109 | bool "Support SH7750S processor" | 129 | bool "Support SH7750S processor" |
110 | select CPU_SH4 | 130 | select CPU_SH4 |
111 | select CPU_SUBTYPE_SH7750 | 131 | select CPU_SUBTYPE_SH7750 |
132 | select CPU_HAS_IPR_IRQ | ||
112 | 133 | ||
113 | config CPU_SUBTYPE_SH7751 | 134 | config CPU_SUBTYPE_SH7751 |
114 | bool "Support SH7751 processor" | 135 | bool "Support SH7751 processor" |
115 | select CPU_SH4 | 136 | select CPU_SH4 |
137 | select CPU_HAS_IPR_IRQ | ||
116 | help | 138 | help |
117 | Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU, | 139 | Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU, |
118 | or if you have a HD6417751R CPU. | 140 | or if you have a HD6417751R CPU. |
@@ -121,6 +143,7 @@ config CPU_SUBTYPE_SH7751R | |||
121 | bool "Support SH7751R processor" | 143 | bool "Support SH7751R processor" |
122 | select CPU_SH4 | 144 | select CPU_SH4 |
123 | select CPU_SUBTYPE_SH7751 | 145 | select CPU_SUBTYPE_SH7751 |
146 | select CPU_HAS_IPR_IRQ | ||
124 | 147 | ||
125 | config CPU_SUBTYPE_SH7760 | 148 | config CPU_SUBTYPE_SH7760 |
126 | bool "Support SH7760 processor" | 149 | bool "Support SH7760 processor" |
@@ -157,6 +180,12 @@ config CPU_SUBTYPE_SH7780 | |||
157 | select CPU_SH4A | 180 | select CPU_SH4A |
158 | select CPU_HAS_INTC2_IRQ | 181 | select CPU_HAS_INTC2_IRQ |
159 | 182 | ||
183 | config CPU_SUBTYPE_SH7785 | ||
184 | bool "Support SH7785 processor" | ||
185 | select CPU_SH4A | ||
186 | select CPU_SHX2 | ||
187 | select CPU_HAS_INTC2_IRQ | ||
188 | |||
160 | comment "SH4AL-DSP Processor Support" | 189 | comment "SH4AL-DSP Processor Support" |
161 | 190 | ||
162 | config CPU_SUBTYPE_SH73180 | 191 | config CPU_SUBTYPE_SH73180 |
@@ -167,6 +196,12 @@ config CPU_SUBTYPE_SH7343 | |||
167 | bool "Support SH7343 processor" | 196 | bool "Support SH7343 processor" |
168 | select CPU_SH4AL_DSP | 197 | select CPU_SH4AL_DSP |
169 | 198 | ||
199 | config CPU_SUBTYPE_SH7722 | ||
200 | bool "Support SH7722 processor" | ||
201 | select CPU_SH4AL_DSP | ||
202 | select CPU_SHX2 | ||
203 | select CPU_HAS_IPR_IRQ | ||
204 | |||
170 | endmenu | 205 | endmenu |
171 | 206 | ||
172 | menu "Memory management options" | 207 | menu "Memory management options" |
@@ -216,13 +251,22 @@ config MEMORY_SIZE | |||
216 | 251 | ||
217 | config 32BIT | 252 | config 32BIT |
218 | bool "Support 32-bit physical addressing through PMB" | 253 | bool "Support 32-bit physical addressing through PMB" |
219 | depends on CPU_SH4A && MMU | 254 | depends on CPU_SH4A && MMU && (!X2TLB || BROKEN) |
220 | default y | 255 | default y |
221 | help | 256 | help |
222 | If you say Y here, physical addressing will be extended to | 257 | If you say Y here, physical addressing will be extended to |
223 | 32-bits through the SH-4A PMB. If this is not set, legacy | 258 | 32-bits through the SH-4A PMB. If this is not set, legacy |
224 | 29-bit physical addressing will be used. | 259 | 29-bit physical addressing will be used. |
225 | 260 | ||
261 | config X2TLB | ||
262 | bool "Enable extended TLB mode" | ||
263 | depends on CPU_SHX2 && MMU && EXPERIMENTAL | ||
264 | help | ||
265 | Selecting this option will enable the extended mode of the SH-X2 | ||
266 | TLB. For legacy SH-X behaviour and interoperability, say N. For | ||
267 | all of the fun new features and a willingless to submit bug reports, | ||
268 | say Y. | ||
269 | |||
226 | config VSYSCALL | 270 | config VSYSCALL |
227 | bool "Support vsyscall page" | 271 | bool "Support vsyscall page" |
228 | depends on MMU | 272 | depends on MMU |
@@ -237,16 +281,52 @@ config VSYSCALL | |||
237 | (the default value) say Y. | 281 | (the default value) say Y. |
238 | 282 | ||
239 | choice | 283 | choice |
284 | prompt "Kernel page size" | ||
285 | default PAGE_SIZE_4KB | ||
286 | |||
287 | config PAGE_SIZE_4KB | ||
288 | bool "4kB" | ||
289 | help | ||
290 | This is the default page size used by all SuperH CPUs. | ||
291 | |||
292 | config PAGE_SIZE_8KB | ||
293 | bool "8kB" | ||
294 | depends on EXPERIMENTAL && X2TLB | ||
295 | help | ||
296 | This enables 8kB pages as supported by SH-X2 and later MMUs. | ||
297 | |||
298 | config PAGE_SIZE_64KB | ||
299 | bool "64kB" | ||
300 | depends on EXPERIMENTAL && CPU_SH4 | ||
301 | help | ||
302 | This enables support for 64kB pages, possible on all SH-4 | ||
303 | CPUs and later. Highly experimental, not recommended. | ||
304 | |||
305 | endchoice | ||
306 | |||
307 | choice | ||
240 | prompt "HugeTLB page size" | 308 | prompt "HugeTLB page size" |
241 | depends on HUGETLB_PAGE && CPU_SH4 && MMU | 309 | depends on HUGETLB_PAGE && CPU_SH4 && MMU |
242 | default HUGETLB_PAGE_SIZE_64K | 310 | default HUGETLB_PAGE_SIZE_64K |
243 | 311 | ||
244 | config HUGETLB_PAGE_SIZE_64K | 312 | config HUGETLB_PAGE_SIZE_64K |
245 | bool "64K" | 313 | bool "64kB" |
314 | |||
315 | config HUGETLB_PAGE_SIZE_256K | ||
316 | bool "256kB" | ||
317 | depends on X2TLB | ||
246 | 318 | ||
247 | config HUGETLB_PAGE_SIZE_1MB | 319 | config HUGETLB_PAGE_SIZE_1MB |
248 | bool "1MB" | 320 | bool "1MB" |
249 | 321 | ||
322 | config HUGETLB_PAGE_SIZE_4MB | ||
323 | bool "4MB" | ||
324 | depends on X2TLB | ||
325 | |||
326 | config HUGETLB_PAGE_SIZE_64MB | ||
327 | bool "64MB" | ||
328 | depends on X2TLB | ||
329 | |||
250 | endchoice | 330 | endchoice |
251 | 331 | ||
252 | source "mm/Kconfig" | 332 | source "mm/Kconfig" |
@@ -274,7 +354,6 @@ config SH_DIRECT_MAPPED | |||
274 | 354 | ||
275 | config SH_WRITETHROUGH | 355 | config SH_WRITETHROUGH |
276 | bool "Use write-through caching" | 356 | bool "Use write-through caching" |
277 | default y if CPU_SH2 | ||
278 | help | 357 | help |
279 | Selecting this option will configure the caches in write-through | 358 | Selecting this option will configure the caches in write-through |
280 | mode, as opposed to the default write-back configuration. | 359 | mode, as opposed to the default write-back configuration. |