[PATCH] mips: add support for Qemu system architecture
[linux-2.6.git] / arch / m32r / Kconfig
1 #
2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
4 #
5
6 mainmenu "Linux/M32R Kernel Configuration"
7
8 config M32R
9         bool
10         default y
11
12 config SBUS
13         bool
14
15 config UID16
16         bool
17         default n
18
19 config GENERIC_ISA_DMA
20         bool
21         default y
22
23 config GENERIC_HARDIRQS
24         bool
25         default y
26
27 config GENERIC_IRQ_PROBE
28         bool
29         default y
30
31 source "init/Kconfig"
32
33
34 menu "Processor type and features"
35
36 choice
37         prompt "Platform Type"
38         default PLAT_MAPPI
39
40 config PLAT_MAPPI
41         bool "Mappi-I"
42         help
43           The Mappi-I is an FPGA board for SOC (System-On-a-Chip) prototyping.
44           You can operate a Linux system on this board by using an M32R
45           softmacro core, which is a fully-synthesizable functional model
46           described in Verilog-HDL.
47
48           The Mappi-I board was the first platform, which had been used
49           to port and develop a Linux system for the M32R processor.
50           Currently, the Mappi-II, an heir to the Mappi-I, is available.
51
52 config PLAT_USRV
53         bool "uServer"
54
55 config PLAT_M32700UT
56         bool "M32700UT"
57         help
58           The M3T-M32700UT is an evaluation board based on uT-Engine
59           specification.  This board has an M32700 (Chaos) evaluation chip.
60           You can say Y for SMP, because the M32700 is a single chip
61           multiprocessor.
62
63 config PLAT_OPSPUT
64         bool "OPSPUT"
65         help
66           The OPSPUT is an evaluation board based on uT-Engine
67           specification.  This board has a OPSP-REP chip.
68
69 config PLAT_OAKS32R
70         bool "OAKS32R"
71         help
72           The OAKS32R is a tiny, inexpensive evaluation board.
73           Please note that if you say Y here and choose chip "M32102",
74           say N for MMU and select a no-MMU version kernel, otherwise
75           a kernel with MMU support will not work, because the M32102
76           is a microcontroller for embedded systems and it has no MMU.
77
78 config PLAT_MAPPI2
79        bool "Mappi-II(M3A-ZA36/M3A-ZA52)"
80
81 config PLAT_MAPPI3
82        bool "Mappi-III(M3A-2170)"
83
84 endchoice
85
86 choice
87         prompt "Processor family"
88         default CHIP_M32700
89
90 config CHIP_M32700
91         bool "M32700 (Chaos)"
92
93 config CHIP_M32102
94         bool "M32102"
95
96 config CHIP_VDEC2
97        bool "VDEC2"
98
99 config CHIP_OPSP
100        bool "OPSP"
101
102 endchoice
103
104 config MMU
105         bool "Support for memory management hardware"
106         depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
107         default y
108
109 config TLB_ENTRIES
110        int "TLB Entries"
111        depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
112        default 32 if CHIP_M32700 || CHIP_OPSP
113        default 16 if CHIP_VDEC2
114
115
116 config ISA_M32R
117         bool
118         depends on CHIP_M32102
119         default y
120
121 config ISA_M32R2
122         bool
123         depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
124         default y
125
126 config ISA_DSP_LEVEL2
127         bool
128         depends on CHIP_M32700 || CHIP_OPSP
129         default y
130
131 config ISA_DUAL_ISSUE
132         bool
133         depends on CHIP_M32700 || CHIP_OPSP
134         default y
135
136 config BUS_CLOCK
137         int "Bus Clock [Hz] (integer)"
138         default "70000000" if PLAT_MAPPI
139         default "25000000" if PLAT_USRV
140         default "50000000" if PLAT_MAPPI3
141         default "50000000" if PLAT_M32700UT
142         default "50000000" if PLAT_OPSPUT
143         default "33333333" if PLAT_OAKS32R
144         default "20000000" if PLAT_MAPPI2
145
146 config TIMER_DIVIDE
147         int "Timer divider (integer)"
148         default "128"
149
150 config CPU_LITTLE_ENDIAN
151         bool "Generate little endian code"
152         default n
153
154 config MEMORY_START
155         hex "Physical memory start address (hex)"
156         default "08000000" if PLAT_MAPPI || PLAT_MAPPI2 || PLAT_MAPPI3
157         default "08000000" if PLAT_USRV
158         default "08000000" if PLAT_M32700UT
159         default "08000000" if PLAT_OPSPUT
160         default "01000000" if PLAT_OAKS32R
161
162 config MEMORY_SIZE
163         hex "Physical memory size (hex)"
164         default "08000000" if PLAT_MAPPI3
165         default "04000000" if PLAT_MAPPI || PLAT_MAPPI2
166         default "02000000" if PLAT_USRV
167         default "01000000" if PLAT_M32700UT
168         default "01000000" if PLAT_OPSPUT
169         default "00800000" if PLAT_OAKS32R
170
171 config NOHIGHMEM
172         bool
173         default y
174
175 config ARCH_DISCONTIGMEM_ENABLE
176         bool "Internal RAM Support"
177         depends on CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP
178         default y
179
180 source "mm/Kconfig"
181
182 config IRAM_START
183         hex "Internal memory start address (hex)"
184         default "00f00000"
185         depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP) && DISCONTIGMEM
186
187 config IRAM_SIZE
188         hex "Internal memory size (hex)"
189         depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP) && DISCONTIGMEM
190         default "00080000" if CHIP_M32700
191         default "00010000" if CHIP_M32102 || CHIP_OPSP
192         default "00008000" if CHIP_VDEC2
193
194 #
195 # Define implied options from the CPU selection here
196 #
197
198 config RWSEM_GENERIC_SPINLOCK
199         bool
200         depends on M32R
201         default y
202
203 config RWSEM_XCHGADD_ALGORITHM
204         bool
205         default n
206
207 config GENERIC_CALIBRATE_DELAY
208         bool
209         default y
210
211 config PREEMPT
212         bool "Preemptible Kernel"
213         help
214           This option reduces the latency of the kernel when reacting to
215           real-time or interactive events by allowing a low priority process to
216           be preempted even if it is in kernel mode executing a system call.
217           This allows applications to run more reliably even when the system is
218           under load.
219
220           Say Y here if you are building a kernel for a desktop, embedded
221           or real-time system.  Say N if you are unsure.
222
223 config HAVE_DEC_LOCK
224         bool
225         depends on (SMP || PREEMPT)
226         default n
227
228 config SMP
229         bool "Symmetric multi-processing support"
230         ---help---
231           This enables support for systems with more than one CPU. If you have
232           a system with only one CPU, like most personal computers, say N. If
233           you have a system with more than one CPU, say Y.
234
235           If you say N here, the kernel will run on single and multiprocessor
236           machines, but will use only one CPU of a multiprocessor machine. If
237           you say Y here, the kernel will run on many, but not all,
238           singleprocessor machines. On a singleprocessor machine, the kernel
239           will run faster if you say N here.
240
241           People using multiprocessor machines who say Y here should also say
242           Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
243           Management" code will be disabled if you say Y here.
244
245           See also the <file:Documentation/smp.tex>,
246           <file:Documentation/smp.txt> and the SMP-HOWTO available at
247           <http://www.linuxdoc.org/docs.html#howto>.
248
249           If you don't know what to do here, say N.
250
251 config CHIP_M32700_TS1
252         bool "Workaround code for the M32700 TS1 chip's bug"
253         depends on (CHIP_M32700 && SMP)
254         default n
255
256 config NR_CPUS
257         int "Maximum number of CPUs (2-32)"
258         range 2 32
259         depends on SMP
260         default "2"
261         help
262           This allows you to specify the maximum number of CPUs which this
263           kernel will support.  The maximum supported value is 32 and the
264           minimum value which makes sense is 2.
265
266           This is purely to save memory - each supported CPU adds
267           approximately eight kilobytes to the kernel image.
268
269 # Common NUMA Features
270 config NUMA
271         bool "Numa Memory Allocation Support"
272         depends on SMP && BROKEN
273         default n
274
275 # turning this on wastes a bunch of space.
276 # Summit needs it only when NUMA is on
277 config BOOT_IOREMAP
278         bool
279         depends on NUMA
280         default n
281
282 endmenu
283
284
285 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
286
287 config PCI
288         bool "PCI support"
289         depends on BROKEN
290         default n
291         help
292           Find out whether you have a PCI motherboard. PCI is the name of a
293           bus system, i.e. the way the CPU talks to the other stuff inside
294           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
295           VESA. If you have PCI, say Y, otherwise N.
296
297           The PCI-HOWTO, available from
298           <http://www.linuxdoc.org/docs.html#howto>, contains valuable
299           information about which PCI hardware does work under Linux and which
300           doesn't.
301
302 choice
303         prompt "PCI access mode"
304         depends on PCI
305         default PCI_GOANY
306
307 config PCI_GOBIOS
308         bool "BIOS"
309         ---help---
310           On PCI systems, the BIOS can be used to detect the PCI devices and
311           determine their configuration. However, some old PCI motherboards
312           have BIOS bugs and may crash if this is done. Also, some embedded
313           PCI-based systems don't have any BIOS at all. Linux can also try to
314           detect the PCI hardware directly without using the BIOS.
315
316           With this option, you can specify how Linux should detect the PCI
317           devices. If you choose "BIOS", the BIOS will be used, if you choose
318           "Direct", the BIOS won't be used, and if you choose "Any", the
319           kernel will try the direct access method and falls back to the BIOS
320           if that doesn't work. If unsure, go with the default, which is
321           "Any".
322
323 config PCI_GODIRECT
324         bool "Direct"
325
326 config PCI_GOANY
327         bool "Any"
328
329 endchoice
330
331 config PCI_BIOS
332         bool
333         depends on PCI && (PCI_GOBIOS || PCI_GOANY)
334         default y
335
336 config PCI_DIRECT
337         bool
338         depends on PCI && (PCI_GODIRECT || PCI_GOANY)
339         default y
340
341 source "drivers/pci/Kconfig"
342
343 config ISA
344         bool "ISA support"
345         help
346           Find out whether you have ISA slots on your motherboard.  ISA is the
347           name of a bus system, i.e. the way the CPU talks to the other stuff
348           inside your box.  If you have ISA, say Y, otherwise N.
349
350 source "drivers/pcmcia/Kconfig"
351
352 source "drivers/pci/hotplug/Kconfig"
353
354 endmenu
355
356
357 menu "Executable file formats"
358
359 source "fs/Kconfig.binfmt"
360
361 endmenu
362
363 source "net/Kconfig"
364
365 source "drivers/Kconfig"
366
367 source "fs/Kconfig"
368
369 source "arch/m32r/oprofile/Kconfig"
370
371 source "arch/m32r/Kconfig.debug"
372
373 source "security/Kconfig"
374
375 source "crypto/Kconfig"
376
377 source "lib/Kconfig"