]> err.no Git - linux-2.6/blob - arch/sh/mm/Kconfig
sh: remove old broken pint code
[linux-2.6] / arch / sh / mm / Kconfig
1 #
2 # Processor families
3 #
4 config CPU_SH2
5         select SH_WRITETHROUGH if !CPU_SH2A
6         bool
7
8 config CPU_SH2A
9         bool
10         select CPU_SH2
11
12 config CPU_SH3
13         bool
14         select CPU_HAS_INTEVT
15         select CPU_HAS_SR_RB
16
17 config CPU_SH4
18         bool
19         select CPU_HAS_INTEVT
20         select CPU_HAS_SR_RB
21         select CPU_HAS_PTEA if (!CPU_SUBTYPE_ST40 && !CPU_SH4A) || CPU_SHX2
22
23 config CPU_SH4A
24         bool
25         select CPU_SH4
26
27 config CPU_SH4AL_DSP
28         bool
29         select CPU_SH4A
30
31 config CPU_SUBTYPE_ST40
32         bool
33         select CPU_SH4
34         select CPU_HAS_INTC2_IRQ
35
36 config CPU_SHX2
37         bool
38
39 config CPU_SHX3
40         bool
41
42 choice
43         prompt "Processor sub-type selection"
44
45 #
46 # Processor subtypes
47 #
48
49 # SH-2 Processor Support
50
51 config CPU_SUBTYPE_SH7619
52         bool "Support SH7619 processor"
53         select CPU_SH2
54         select CPU_HAS_IPR_IRQ
55
56 # SH-2A Processor Support
57
58 config CPU_SUBTYPE_SH7206
59         bool "Support SH7206 processor"
60         select CPU_SH2A
61         select CPU_HAS_IPR_IRQ
62
63 # SH-3 Processor Support
64
65 config CPU_SUBTYPE_SH7300
66         bool "Support SH7300 processor"
67         select CPU_SH3
68
69 config CPU_SUBTYPE_SH7705
70         bool "Support SH7705 processor"
71         select CPU_SH3
72         select CPU_HAS_IPR_IRQ
73
74 config CPU_SUBTYPE_SH7706
75         bool "Support SH7706 processor"
76         select CPU_SH3
77         select CPU_HAS_IPR_IRQ
78         help
79           Select SH7706 if you have a 133 Mhz SH-3 HD6417706 CPU.
80
81 config CPU_SUBTYPE_SH7707
82         bool "Support SH7707 processor"
83         select CPU_SH3
84         help
85           Select SH7707 if you have a  60 Mhz SH-3 HD6417707 CPU.
86
87 config CPU_SUBTYPE_SH7708
88         bool "Support SH7708 processor"
89         select CPU_SH3
90         help
91           Select SH7708 if you have a  60 Mhz SH-3 HD6417708S or
92           if you have a 100 Mhz SH-3 HD6417708R CPU.
93
94 config CPU_SUBTYPE_SH7709
95         bool "Support SH7709 processor"
96         select CPU_SH3
97         select CPU_HAS_IPR_IRQ
98         help
99           Select SH7709 if you have a  80 Mhz SH-3 HD6417709 CPU.
100
101 config CPU_SUBTYPE_SH7710
102         bool "Support SH7710 processor"
103         select CPU_SH3
104         select CPU_HAS_IPR_IRQ
105         help
106           Select SH7710 if you have a SH3-DSP SH7710 CPU.
107
108 config CPU_SUBTYPE_SH7712
109         bool "Support SH7712 processor"
110         select CPU_SH3
111         select CPU_HAS_IPR_IRQ
112         help
113           Select SH7712 if you have a SH3-DSP SH7712 CPU.
114
115 # SH-4 Processor Support
116
117 config CPU_SUBTYPE_SH7750
118         bool "Support SH7750 processor"
119         select CPU_SH4
120         select CPU_HAS_INTC_IRQ
121         help
122           Select SH7750 if you have a 200 Mhz SH-4 HD6417750 CPU.
123
124 config CPU_SUBTYPE_SH7091
125         bool "Support SH7091 processor"
126         select CPU_SH4
127         select CPU_HAS_INTC_IRQ
128         help
129           Select SH7091 if you have an SH-4 based Sega device (such as
130           the Dreamcast, Naomi, and Naomi 2).
131
132 config CPU_SUBTYPE_SH7750R
133         bool "Support SH7750R processor"
134         select CPU_SH4
135         select CPU_HAS_INTC_IRQ
136
137 config CPU_SUBTYPE_SH7750S
138         bool "Support SH7750S processor"
139         select CPU_SH4
140         select CPU_HAS_INTC_IRQ
141
142 config CPU_SUBTYPE_SH7751
143         bool "Support SH7751 processor"
144         select CPU_SH4
145         select CPU_HAS_INTC_IRQ
146         help
147           Select SH7751 if you have a 166 Mhz SH-4 HD6417751 CPU,
148           or if you have a HD6417751R CPU.
149
150 config CPU_SUBTYPE_SH7751R
151         bool "Support SH7751R processor"
152         select CPU_SH4
153         select CPU_HAS_INTC_IRQ
154
155 config CPU_SUBTYPE_SH7760
156         bool "Support SH7760 processor"
157         select CPU_SH4
158         select CPU_HAS_INTC2_IRQ
159         select CPU_HAS_IPR_IRQ
160
161 config CPU_SUBTYPE_SH4_202
162         bool "Support SH4-202 processor"
163         select CPU_SH4
164
165 # ST40 Processor Support
166
167 config CPU_SUBTYPE_ST40STB1
168         bool "Support ST40STB1/ST40RA processors"
169         select CPU_SUBTYPE_ST40
170         help
171           Select ST40STB1 if you have a ST40RA CPU.
172           This was previously called the ST40STB1, hence the option name.
173
174 config CPU_SUBTYPE_ST40GX1
175         bool "Support ST40GX1 processor"
176         select CPU_SUBTYPE_ST40
177         help
178           Select ST40GX1 if you have a ST40GX1 CPU.
179
180 # SH-4A Processor Support
181
182 config CPU_SUBTYPE_SH7770
183         bool "Support SH7770 processor"
184         select CPU_SH4A
185
186 config CPU_SUBTYPE_SH7780
187         bool "Support SH7780 processor"
188         select CPU_SH4A
189         select CPU_HAS_INTC_IRQ
190
191 config CPU_SUBTYPE_SH7785
192         bool "Support SH7785 processor"
193         select CPU_SH4A
194         select CPU_SHX2
195         select CPU_HAS_INTC2_IRQ
196
197 config CPU_SUBTYPE_SHX3
198         bool "Support SH-X3 processor"
199         select CPU_SH4A
200         select CPU_SHX3
201         select CPU_HAS_INTC2_IRQ
202
203 # SH4AL-DSP Processor Support
204
205 config CPU_SUBTYPE_SH73180
206         bool "Support SH73180 processor"
207         select CPU_SH4AL_DSP
208
209 config CPU_SUBTYPE_SH7343
210         bool "Support SH7343 processor"
211         select CPU_SH4AL_DSP
212
213 config CPU_SUBTYPE_SH7722
214         bool "Support SH7722 processor"
215         select CPU_SH4AL_DSP
216         select CPU_SHX2
217         select CPU_HAS_INTC_IRQ
218         select ARCH_SPARSEMEM_ENABLE
219         select SYS_SUPPORTS_NUMA
220
221 endchoice
222
223 menu "Memory management options"
224
225 config QUICKLIST
226         def_bool y
227
228 config MMU
229         bool "Support for memory management hardware"
230         depends on !CPU_SH2
231         default y
232         help
233           Some SH processors (such as SH-2/SH-2A) lack an MMU. In order to
234           boot on these systems, this option must not be set.
235
236           On other systems (such as the SH-3 and 4) where an MMU exists,
237           turning this off will boot the kernel on these machines with the
238           MMU implicitly switched off.
239
240 config PAGE_OFFSET
241         hex
242         default "0x80000000" if MMU
243         default "0x00000000"
244
245 config MEMORY_START
246         hex "Physical memory start address"
247         default "0x08000000"
248         ---help---
249           Computers built with Hitachi SuperH processors always
250           map the ROM starting at address zero.  But the processor
251           does not specify the range that RAM takes.
252
253           The physical memory (RAM) start address will be automatically
254           set to 08000000. Other platforms, such as the Solution Engine
255           boards typically map RAM at 0C000000.
256
257           Tweak this only when porting to a new machine which does not
258           already have a defconfig. Changing it from the known correct
259           value on any of the known systems will only lead to disaster.
260
261 config MEMORY_SIZE
262         hex "Physical memory size"
263         default "0x00400000"
264         help
265           This sets the default memory size assumed by your SH kernel. It can
266           be overridden as normal by the 'mem=' argument on the kernel command
267           line. If unsure, consult your board specifications or just leave it
268           as 0x00400000 which was the default value before this became
269           configurable.
270
271 config 32BIT
272         bool "Support 32-bit physical addressing through PMB"
273         depends on MMU && (CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785)
274         default y
275         help
276           If you say Y here, physical addressing will be extended to
277           32-bits through the SH-4A PMB. If this is not set, legacy
278           29-bit physical addressing will be used.
279
280 config X2TLB
281         bool "Enable extended TLB mode"
282         depends on CPU_SHX2 && MMU && EXPERIMENTAL
283         help
284           Selecting this option will enable the extended mode of the SH-X2
285           TLB. For legacy SH-X behaviour and interoperability, say N. For
286           all of the fun new features and a willingless to submit bug reports,
287           say Y.
288
289 config VSYSCALL
290         bool "Support vsyscall page"
291         depends on MMU
292         default y
293         help
294           This will enable support for the kernel mapping a vDSO page
295           in process space, and subsequently handing down the entry point
296           to the libc through the ELF auxiliary vector.
297
298           From the kernel side this is used for the signal trampoline.
299           For systems with an MMU that can afford to give up a page,
300           (the default value) say Y.
301
302 config NUMA
303         bool "Non Uniform Memory Access (NUMA) Support"
304         depends on MMU && SYS_SUPPORTS_NUMA && EXPERIMENTAL
305         default n
306         help
307           Some SH systems have many various memories scattered around
308           the address space, each with varying latencies. This enables
309           support for these blocks by binding them to nodes and allowing
310           memory policies to be used for prioritizing and controlling
311           allocation behaviour.
312
313 config NODES_SHIFT
314         int
315         default "1"
316         depends on NEED_MULTIPLE_NODES
317
318 config ARCH_FLATMEM_ENABLE
319         def_bool y
320         depends on !NUMA
321
322 config ARCH_SPARSEMEM_ENABLE
323         def_bool y
324         select SPARSEMEM_STATIC
325
326 config ARCH_SPARSEMEM_DEFAULT
327         def_bool y
328
329 config MAX_ACTIVE_REGIONS
330         int
331         default "2" if (CPU_SUBTYPE_SH7722 && SPARSEMEM)
332         default "1"
333
334 config ARCH_POPULATES_NODE_MAP
335         def_bool y
336
337 config ARCH_SELECT_MEMORY_MODEL
338         def_bool y
339
340 config ARCH_ENABLE_MEMORY_HOTPLUG
341         def_bool y
342         depends on SPARSEMEM
343
344 config ARCH_MEMORY_PROBE
345         def_bool y
346         depends on MEMORY_HOTPLUG
347
348 choice
349         prompt "Kernel page size"
350         default PAGE_SIZE_4KB
351
352 config PAGE_SIZE_4KB
353         bool "4kB"
354         help
355           This is the default page size used by all SuperH CPUs.
356
357 config PAGE_SIZE_8KB
358         bool "8kB"
359         depends on EXPERIMENTAL && X2TLB
360         help
361           This enables 8kB pages as supported by SH-X2 and later MMUs.
362
363 config PAGE_SIZE_64KB
364         bool "64kB"
365         depends on EXPERIMENTAL && CPU_SH4
366         help
367           This enables support for 64kB pages, possible on all SH-4
368           CPUs and later. Highly experimental, not recommended.
369
370 endchoice
371
372 choice
373         prompt "HugeTLB page size"
374         depends on HUGETLB_PAGE && CPU_SH4 && MMU
375         default HUGETLB_PAGE_SIZE_64K
376
377 config HUGETLB_PAGE_SIZE_64K
378         bool "64kB"
379
380 config HUGETLB_PAGE_SIZE_256K
381         bool "256kB"
382         depends on X2TLB
383
384 config HUGETLB_PAGE_SIZE_1MB
385         bool "1MB"
386
387 config HUGETLB_PAGE_SIZE_4MB
388         bool "4MB"
389         depends on X2TLB
390
391 config HUGETLB_PAGE_SIZE_64MB
392         bool "64MB"
393         depends on X2TLB
394
395 endchoice
396
397 source "mm/Kconfig"
398
399 endmenu
400
401 menu "Cache configuration"
402
403 config SH7705_CACHE_32KB
404         bool "Enable 32KB cache size for SH7705"
405         depends on CPU_SUBTYPE_SH7705
406         default y
407
408 config SH_DIRECT_MAPPED
409         bool "Use direct-mapped caching"
410         default n
411         help
412           Selecting this option will configure the caches to be direct-mapped,
413           even if the cache supports a 2 or 4-way mode. This is useful primarily
414           for debugging on platforms with 2 and 4-way caches (SH7750R/SH7751R,
415           SH4-202, SH4-501, etc.)
416
417           Turn this option off for platforms that do not have a direct-mapped
418           cache, and you have no need to run the caches in such a configuration.
419
420 config SH_WRITETHROUGH
421         bool "Use write-through caching"
422         help
423           Selecting this option will configure the caches in write-through
424           mode, as opposed to the default write-back configuration.
425
426           Since there's sill some aliasing issues on SH-4, this option will
427           unfortunately still require the majority of flushing functions to
428           be implemented to deal with aliasing.
429
430           If unsure, say N.
431
432 endmenu