diff options
Diffstat (limited to 'arch/sh/mm/Kconfig')
-rw-r--r-- | arch/sh/mm/Kconfig | 77 |
1 files changed, 73 insertions, 4 deletions
diff --git a/arch/sh/mm/Kconfig b/arch/sh/mm/Kconfig index 9dd606464d23..4e0362f50384 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 |
@@ -40,6 +45,16 @@ config CPU_SUBTYPE_SH7604 | |||
40 | bool "Support SH7604 processor" | 45 | bool "Support SH7604 processor" |
41 | select CPU_SH2 | 46 | select CPU_SH2 |
42 | 47 | ||
48 | config CPU_SUBTYPE_SH7619 | ||
49 | bool "Support SH7619 processor" | ||
50 | select CPU_SH2 | ||
51 | |||
52 | comment "SH-2A Processor Support" | ||
53 | |||
54 | config CPU_SUBTYPE_SH7206 | ||
55 | bool "Support SH7206 processor" | ||
56 | select CPU_SH2A | ||
57 | |||
43 | comment "SH-3 Processor Support" | 58 | comment "SH-3 Processor Support" |
44 | 59 | ||
45 | config CPU_SUBTYPE_SH7300 | 60 | config CPU_SUBTYPE_SH7300 |
@@ -89,6 +104,7 @@ comment "SH-4 Processor Support" | |||
89 | config CPU_SUBTYPE_SH7750 | 104 | config CPU_SUBTYPE_SH7750 |
90 | bool "Support SH7750 processor" | 105 | bool "Support SH7750 processor" |
91 | select CPU_SH4 | 106 | select CPU_SH4 |
107 | select CPU_HAS_IPR_IRQ | ||
92 | help | 108 | help |
93 | Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU. | 109 | Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU. |
94 | 110 | ||
@@ -104,15 +120,18 @@ config CPU_SUBTYPE_SH7750R | |||
104 | bool "Support SH7750R processor" | 120 | bool "Support SH7750R processor" |
105 | select CPU_SH4 | 121 | select CPU_SH4 |
106 | select CPU_SUBTYPE_SH7750 | 122 | select CPU_SUBTYPE_SH7750 |
123 | select CPU_HAS_IPR_IRQ | ||
107 | 124 | ||
108 | config CPU_SUBTYPE_SH7750S | 125 | config CPU_SUBTYPE_SH7750S |
109 | bool "Support SH7750S processor" | 126 | bool "Support SH7750S processor" |
110 | select CPU_SH4 | 127 | select CPU_SH4 |
111 | select CPU_SUBTYPE_SH7750 | 128 | select CPU_SUBTYPE_SH7750 |
129 | select CPU_HAS_IPR_IRQ | ||
112 | 130 | ||
113 | config CPU_SUBTYPE_SH7751 | 131 | config CPU_SUBTYPE_SH7751 |
114 | bool "Support SH7751 processor" | 132 | bool "Support SH7751 processor" |
115 | select CPU_SH4 | 133 | select CPU_SH4 |
134 | select CPU_HAS_IPR_IRQ | ||
116 | help | 135 | help |
117 | Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU, | 136 | Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU, |
118 | or if you have a HD6417751R CPU. | 137 | or if you have a HD6417751R CPU. |
@@ -121,6 +140,7 @@ config CPU_SUBTYPE_SH7751R | |||
121 | bool "Support SH7751R processor" | 140 | bool "Support SH7751R processor" |
122 | select CPU_SH4 | 141 | select CPU_SH4 |
123 | select CPU_SUBTYPE_SH7751 | 142 | select CPU_SUBTYPE_SH7751 |
143 | select CPU_HAS_IPR_IRQ | ||
124 | 144 | ||
125 | config CPU_SUBTYPE_SH7760 | 145 | config CPU_SUBTYPE_SH7760 |
126 | bool "Support SH7760 processor" | 146 | bool "Support SH7760 processor" |
@@ -157,6 +177,11 @@ config CPU_SUBTYPE_SH7780 | |||
157 | select CPU_SH4A | 177 | select CPU_SH4A |
158 | select CPU_HAS_INTC2_IRQ | 178 | select CPU_HAS_INTC2_IRQ |
159 | 179 | ||
180 | config CPU_SUBTYPE_SH7785 | ||
181 | bool "Support SH7785 processor" | ||
182 | select CPU_SH4A | ||
183 | select CPU_HAS_INTC2_IRQ | ||
184 | |||
160 | comment "SH4AL-DSP Processor Support" | 185 | comment "SH4AL-DSP Processor Support" |
161 | 186 | ||
162 | config CPU_SUBTYPE_SH73180 | 187 | config CPU_SUBTYPE_SH73180 |
@@ -216,13 +241,22 @@ config MEMORY_SIZE | |||
216 | 241 | ||
217 | config 32BIT | 242 | config 32BIT |
218 | bool "Support 32-bit physical addressing through PMB" | 243 | bool "Support 32-bit physical addressing through PMB" |
219 | depends on CPU_SH4A && MMU | 244 | depends on CPU_SH4A && MMU && (!X2TLB || BROKEN) |
220 | default y | 245 | default y |
221 | help | 246 | help |
222 | If you say Y here, physical addressing will be extended to | 247 | 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 | 248 | 32-bits through the SH-4A PMB. If this is not set, legacy |
224 | 29-bit physical addressing will be used. | 249 | 29-bit physical addressing will be used. |
225 | 250 | ||
251 | config X2TLB | ||
252 | bool "Enable extended TLB mode" | ||
253 | depends on CPU_SUBTYPE_SH7785 && MMU && EXPERIMENTAL | ||
254 | help | ||
255 | Selecting this option will enable the extended mode of the SH-X2 | ||
256 | TLB. For legacy SH-X behaviour and interoperability, say N. For | ||
257 | all of the fun new features and a willingless to submit bug reports, | ||
258 | say Y. | ||
259 | |||
226 | config VSYSCALL | 260 | config VSYSCALL |
227 | bool "Support vsyscall page" | 261 | bool "Support vsyscall page" |
228 | depends on MMU | 262 | depends on MMU |
@@ -237,16 +271,52 @@ config VSYSCALL | |||
237 | (the default value) say Y. | 271 | (the default value) say Y. |
238 | 272 | ||
239 | choice | 273 | choice |
274 | prompt "Kernel page size" | ||
275 | default PAGE_SIZE_4KB | ||
276 | |||
277 | config PAGE_SIZE_4KB | ||
278 | bool "4kB" | ||
279 | help | ||
280 | This is the default page size used by all SuperH CPUs. | ||
281 | |||
282 | config PAGE_SIZE_8KB | ||
283 | bool "8kB" | ||
284 | depends on EXPERIMENTAL && X2TLB | ||
285 | help | ||
286 | This enables 8kB pages as supported by SH-X2 and later MMUs. | ||
287 | |||
288 | config PAGE_SIZE_64KB | ||
289 | bool "64kB" | ||
290 | depends on EXPERIMENTAL && CPU_SH4 | ||
291 | help | ||
292 | This enables support for 64kB pages, possible on all SH-4 | ||
293 | CPUs and later. Highly experimental, not recommended. | ||
294 | |||
295 | endchoice | ||
296 | |||
297 | choice | ||
240 | prompt "HugeTLB page size" | 298 | prompt "HugeTLB page size" |
241 | depends on HUGETLB_PAGE && CPU_SH4 && MMU | 299 | depends on HUGETLB_PAGE && CPU_SH4 && MMU |
242 | default HUGETLB_PAGE_SIZE_64K | 300 | default HUGETLB_PAGE_SIZE_64K |
243 | 301 | ||
244 | config HUGETLB_PAGE_SIZE_64K | 302 | config HUGETLB_PAGE_SIZE_64K |
245 | bool "64K" | 303 | bool "64kB" |
304 | |||
305 | config HUGETLB_PAGE_SIZE_256K | ||
306 | bool "256kB" | ||
307 | depends on X2TLB | ||
246 | 308 | ||
247 | config HUGETLB_PAGE_SIZE_1MB | 309 | config HUGETLB_PAGE_SIZE_1MB |
248 | bool "1MB" | 310 | bool "1MB" |
249 | 311 | ||
312 | config HUGETLB_PAGE_SIZE_4MB | ||
313 | bool "4MB" | ||
314 | depends on X2TLB | ||
315 | |||
316 | config HUGETLB_PAGE_SIZE_64MB | ||
317 | bool "64MB" | ||
318 | depends on X2TLB | ||
319 | |||
250 | endchoice | 320 | endchoice |
251 | 321 | ||
252 | source "mm/Kconfig" | 322 | source "mm/Kconfig" |
@@ -274,7 +344,6 @@ config SH_DIRECT_MAPPED | |||
274 | 344 | ||
275 | config SH_WRITETHROUGH | 345 | config SH_WRITETHROUGH |
276 | bool "Use write-through caching" | 346 | bool "Use write-through caching" |
277 | default y if CPU_SH2 | ||
278 | help | 347 | help |
279 | Selecting this option will configure the caches in write-through | 348 | Selecting this option will configure the caches in write-through |
280 | mode, as opposed to the default write-back configuration. | 349 | mode, as opposed to the default write-back configuration. |