2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
6 mainmenu "Linux Kernel Configuration"
19 config GENERIC_ISA_DMA
26 menu "Processor type and features"
29 prompt "Platform Type"
35 The Mappi-I is an FPGA board for SOC (System-On-a-Chip) prototyping.
36 You can operate a Linux system on this board by using an M32R
37 softmacro core, which is a fully-synthesizable functional model
38 described in Verilog-HDL.
40 The Mappi-I board was the first platform, which had been used
41 to port and develop a Linux system for the M32R processor.
42 Currently, the Mappi-II, an heir to the Mappi-I, is available.
50 The M3T-M32700UT is an evaluation board based on uT-Engine
51 specification. This board has an M32700 (Chaos) evaluation chip.
52 You can say Y for SMP, because the M32700 is a single chip
58 The OPSPUT is an evaluation board based on uT-Engine
59 specification. This board has a OPSP-REP chip.
64 The OAKS32R is a tiny, inexpensive evaluation board.
65 Please note that if you say Y here and choose chip "M32102",
66 say N for MMU and select a no-MMU version kernel, otherwise
67 a kernel with MMU support will not work, because the M32102
68 is a microcontroller for embedded systems and it has no MMU.
71 bool "Mappi-II(M3A-ZA36/M3A-ZA52)"
76 prompt "Processor family"
94 bool "Support for memory management hardware"
95 depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
100 depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
101 default 32 if CHIP_M32700 || CHIP_OPSP
102 default 16 if CHIP_VDEC2
107 depends on CHIP_M32102
112 depends on CHIP_M32700 || CHIP_VDEC2 || CHIP_OPSP
115 config ISA_DSP_LEVEL2
117 depends on CHIP_M32700 || CHIP_OPSP
120 config ISA_DUAL_ISSUE
122 depends on CHIP_M32700 || CHIP_OPSP
126 int "Bus Clock [Hz] (integer)"
127 default "70000000" if PLAT_MAPPI
128 default "25000000" if PLAT_USRV
129 default "50000000" if PLAT_M32700UT
130 default "50000000" if PLAT_OPSPUT
131 default "33333333" if PLAT_OAKS32R
132 default "20000000" if PLAT_MAPPI2
135 int "Timer divider (integer)"
138 config CPU_LITTLE_ENDIAN
139 bool "Generate little endian code"
143 hex "Physical memory start address (hex)"
144 default "08000000" if PLAT_MAPPI || PLAT_MAPPI2
145 default "08000000" if PLAT_USRV
146 default "08000000" if PLAT_M32700UT
147 default "08000000" if PLAT_OPSPUT
148 default "01000000" if PLAT_OAKS32R
151 hex "Physical memory size (hex)"
152 default "04000000" if PLAT_MAPPI || PLAT_MAPPI2
153 default "02000000" if PLAT_USRV
154 default "01000000" if PLAT_M32700UT
155 default "01000000" if PLAT_OPSPUT
156 default "00800000" if PLAT_OAKS32R
163 bool "Internal RAM Support"
164 depends on CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP
168 hex "Internal memory start address (hex)"
170 depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP) && DISCONTIGMEM
173 hex "Internal memory size (hex)"
174 depends on (CHIP_M32700 || CHIP_M32102 || CHIP_VDEC2 || CHIP_OPSP) && DISCONTIGMEM
175 default "00080000" if CHIP_M32700
176 default "00010000" if CHIP_M32102 || CHIP_OPSP
177 default "00008000" if CHIP_VDEC2
180 # Define implied options from the CPU selection here
183 config RWSEM_GENERIC_SPINLOCK
188 config RWSEM_XCHGADD_ALGORITHM
193 bool "Preemptible Kernel"
195 This option reduces the latency of the kernel when reacting to
196 real-time or interactive events by allowing a low priority process to
197 be preempted even if it is in kernel mode executing a system call.
198 This allows applications to run more reliably even when the system is
201 Say Y here if you are building a kernel for a desktop, embedded
202 or real-time system. Say N if you are unsure.
206 depends on (SMP || PREEMPT)
210 bool "Symmetric multi-processing support"
212 This enables support for systems with more than one CPU. If you have
213 a system with only one CPU, like most personal computers, say N. If
214 you have a system with more than one CPU, say Y.
216 If you say N here, the kernel will run on single and multiprocessor
217 machines, but will use only one CPU of a multiprocessor machine. If
218 you say Y here, the kernel will run on many, but not all,
219 singleprocessor machines. On a singleprocessor machine, the kernel
220 will run faster if you say N here.
222 People using multiprocessor machines who say Y here should also say
223 Y to "Enhanced Real Time Clock Support", below. The "Advanced Power
224 Management" code will be disabled if you say Y here.
226 See also the <file:Documentation/smp.tex>,
227 <file:Documentation/smp.txt> and the SMP-HOWTO available at
228 <http://www.linuxdoc.org/docs.html#howto>.
230 If you don't know what to do here, say N.
232 config CHIP_M32700_TS1
233 bool "Workaround code for the M32700 TS1 chip's bug"
234 depends on (CHIP_M32700 && SMP)
238 int "Maximum number of CPUs (2-32)"
243 This allows you to specify the maximum number of CPUs which this
244 kernel will support. The maximum supported value is 32 and the
245 minimum value which makes sense is 2.
247 This is purely to save memory - each supported CPU adds
248 approximately eight kilobytes to the kernel image.
250 # Common NUMA Features
252 bool "Numa Memory Allocation Support"
256 # turning this on wastes a bunch of space.
257 # Summit needs it only when NUMA is on
266 menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
272 Find out whether you have a PCI motherboard. PCI is the name of a
273 bus system, i.e. the way the CPU talks to the other stuff inside
274 your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
275 VESA. If you have PCI, say Y, otherwise N.
277 The PCI-HOWTO, available from
278 <http://www.linuxdoc.org/docs.html#howto>, contains valuable
279 information about which PCI hardware does work under Linux and which
283 prompt "PCI access mode"
290 On PCI systems, the BIOS can be used to detect the PCI devices and
291 determine their configuration. However, some old PCI motherboards
292 have BIOS bugs and may crash if this is done. Also, some embedded
293 PCI-based systems don't have any BIOS at all. Linux can also try to
294 detect the PCI hardware directly without using the BIOS.
296 With this option, you can specify how Linux should detect the PCI
297 devices. If you choose "BIOS", the BIOS will be used, if you choose
298 "Direct", the BIOS won't be used, and if you choose "Any", the
299 kernel will try the direct access method and falls back to the BIOS
300 if that doesn't work. If unsure, go with the default, which is
313 depends on PCI && (PCI_GOBIOS || PCI_GOANY)
318 depends on PCI && (PCI_GODIRECT || PCI_GOANY)
321 source "drivers/pci/Kconfig"
326 Find out whether you have ISA slots on your motherboard. ISA is the
327 name of a bus system, i.e. the way the CPU talks to the other stuff
328 inside your box. If you have ISA, say Y, otherwise N.
330 source "drivers/pcmcia/Kconfig"
332 source "drivers/pci/hotplug/Kconfig"
337 menu "Executable file formats"
339 source "fs/Kconfig.binfmt"
343 source "drivers/Kconfig"
347 source "arch/m32r/oprofile/Kconfig"
349 menu "Kernel hacking"
352 bool "Kernel debugging"
354 Say Y here if you are developing drivers or trying to debug and
355 identify kernel problems.
357 config DEBUG_STACKOVERFLOW
358 bool "Check for stack overflows"
359 depends on DEBUG_KERNEL
362 bool "Debug memory allocations"
363 depends on DEBUG_KERNEL
365 Say Y here to have the kernel do limited verification on memory
366 allocation as well as poisoning memory on free to catch use of freed
370 bool "Memory mapped I/O debugging"
371 depends on DEBUG_KERNEL
373 Say Y here to get warned whenever an attempt is made to do I/O on
374 obviously invalid addresses such as those generated when ioremap()
375 calls are forgotten. Memory mapped I/O will go through an extra
376 check to catch access to unmapped ISA addresses, an access method
377 that can still be used by old drivers that are being ported from
381 bool "Magic SysRq key"
382 depends on DEBUG_KERNEL
384 If you say Y here, you will have some control over the system even
385 if the system crashes for example during kernel debugging (e.g., you
386 will be able to flush the buffer cache to disk, reboot the system
387 immediately or dump some status information). This is accomplished
388 by pressing various keys while holding SysRq (Alt+PrintScreen). It
389 also works on a serial console (on PC hardware at least), if you
390 send a BREAK and then within 5 seconds a command keypress. The
391 keys are documented in <file:Documentation/sysrq.txt>. Don't say Y
392 unless you really know what this hack does.
394 config DEBUG_SPINLOCK
395 bool "Spinlock debugging"
396 depends on DEBUG_KERNEL
398 Say Y here and build SMP to catch missing spinlock initialization
399 and certain other kinds of spinlock errors commonly made. This is
400 best used in conjunction with the NMI watchdog so that spinlock
401 deadlocks are also debuggable.
403 config DEBUG_PAGEALLOC
404 bool "Page alloc debugging"
405 depends on DEBUG_KERNEL
407 Unmap pages from the kernel linear mapping after free_pages().
408 This results in a large slowdown, but helps to find certain types
409 of memory corruptions.
412 bool "Compile the kernel with debug info"
413 depends on DEBUG_KERNEL
415 If you say Y here the resulting kernel image will include
416 debugging info resulting in a larger kernel image.
417 Say Y here only if you plan to use gdb to debug the kernel.
418 If you don't debug the kernel, you can say N.
420 config DEBUG_SPINLOCK_SLEEP
421 bool "Sleep-inside-spinlock checking"
423 If you say Y here, various routines which may sleep will become very
424 noisy if they are called with a spinlock held.
427 bool "Compile the kernel with frame pointers"
429 If you say Y here the resulting kernel image will be slightly larger
430 and slower, but it will give very useful debugging information.
431 If you don't debug the kernel, you can say N, but we may not be able
432 to solve problems without frame pointers.
436 source "security/Kconfig"
438 source "crypto/Kconfig"