2 # For a description of the syntax of this configuration file,
3 # see Documentation/kbuild/kconfig-language.txt.
6 mainmenu "Linux Kernel Configuration"
20 select MN10300_HAS_ATOMIC_OPS_UNIT
21 select MN10300_HAS_CACHE_SNOOP
23 config ERRATUM_NEED_TO_RELOAD_MMUCTR
24 def_bool y if AM33_3 || AM34_2
38 config RWSEM_GENERIC_SPINLOCK
41 config RWSEM_XCHGADD_ALGORITHM
44 config GENERIC_HARDIRQS_NO__DO_IRQ
47 config GENERIC_CALIBRATE_DELAY
50 config GENERIC_CMOS_UPDATE
53 config GENERIC_FIND_NEXT_BIT
56 config GENERIC_HWEIGHT
65 config ARCH_HAS_ILOG2_U32
68 # Use the generic interrupt handling code in kernel/irq/
69 config GENERIC_HARDIRQS
75 mainmenu "Matsushita MN10300/AM33 Kernel Configuration"
79 source "kernel/Kconfig.freezer"
82 menu "Matsushita MN10300 system setup"
86 default MN10300_UNIT_ASB2303
88 This option specifies board for which the kernel will be
89 compiled. It affects the external peripherals catered for.
91 config MN10300_UNIT_ASB2303
94 config MN10300_UNIT_ASB2305
97 config MN10300_UNIT_ASB2364
103 prompt "Processor support"
104 default MN10300_PROC_MN103E010
106 This option specifies the processor for which the kernel will be
107 compiled. It affects the on-chip peripherals catered for.
109 config MN10300_PROC_MN103E010
111 depends on MN10300_UNIT_ASB2303 || MN10300_UNIT_ASB2305
113 select MN10300_PROC_HAS_TTYSM0
114 select MN10300_PROC_HAS_TTYSM1
115 select MN10300_PROC_HAS_TTYSM2
117 config MN10300_PROC_MN2WS0050
119 depends on MN10300_UNIT_ASB2364
121 select MN10300_PROC_HAS_TTYSM0
122 select MN10300_PROC_HAS_TTYSM1
123 select MN10300_PROC_HAS_TTYSM2
127 config MN10300_HAS_ATOMIC_OPS_UNIT
130 This should be enabled if the processor has an atomic ops unit
131 capable of doing LL/SC equivalent operations.
136 depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
139 bool "Save FPU state lazily"
141 depends on FPU && !SMP
143 Enable this to be lazy in the saving of the FPU state to the owning
144 task's thread struct. This is useful if most tasks on the system
145 don't use the FPU as only those tasks that use it will pass it
146 between them, and the state needn't be saved for a task that isn't
149 This can't be so easily used on SMP as the process that owns the FPU
150 state on a CPU may be currently running on another CPU, so for the
151 moment, it is disabled.
153 source "arch/mn10300/mm/Kconfig.cache"
155 config MN10300_TLB_USE_PIDR
158 menu "Memory layout options"
160 config KERNEL_RAM_BASE_ADDRESS
161 hex "Base address of kernel RAM"
164 config INTERRUPT_VECTOR_BASE
165 hex "Base address of vector table"
168 The base address of the vector table will be programmed into
169 the TBR register. It must be on 16MiB address boundary.
171 config KERNEL_TEXT_ADDRESS
172 hex "Base address of kernel"
175 config KERNEL_ZIMAGE_BASE_ADDRESS
176 hex "Base address of compressed vmlinux image"
179 config BOOT_STACK_OFFSET
181 default "0xF00" if SMP
182 default "0xFF0" if !SMP
184 config BOOT_STACK_SIZE
191 bool "Symmetric multi-processing support"
193 depends on MN10300_PROC_MN2WS0038 || MN10300_PROC_MN2WS0050
195 This enables support for systems with more than one CPU. If you have
196 a system with only one CPU, like most personal computers, say N. If
197 you have a system with more than one CPU, say Y.
199 If you say N here, the kernel will run on single and multiprocessor
200 machines, but will use only one CPU of a multiprocessor machine. If
201 you say Y here, the kernel will run on many, but not all,
202 singleprocessor machines. On a singleprocessor machine, the kernel
203 will run faster if you say N here.
205 See also <file:Documentation/i386/IO-APIC.txt>,
206 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
207 <http://www.tldp.org/docs.html#howto>.
209 If you don't know what to do here, say N.
216 config USE_GENERIC_SMP_HELPERS
221 source "kernel/Kconfig.preempt"
223 config MN10300_CURRENT_IN_E2
224 bool "Hold current task address in E2 register"
228 This option removes the E2/R2 register from the set available to gcc
229 for normal use and instead uses it to store the address of the
230 current process's task_struct whilst in the kernel.
232 This means the kernel doesn't need to calculate the address each time
233 "current" is used (take SP, AND with mask and dereference pointer
234 just to get the address), and instead can just use E2+offset
235 addressing each time.
237 This has no effect on userspace.
239 config MN10300_USING_JTAG
240 bool "Using JTAG to debug kernel"
243 This options indicates that JTAG will be used to debug the kernel. It
244 suppresses the use of certain hardware debugging features, such as
245 single-stepping, which are taken over completely by the JTAG unit.
247 source "kernel/Kconfig.hz"
250 bool "Using MN10300 RTC"
251 depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
252 select GENERIC_CMOS_UPDATE
255 This option enables support for the RTC, thus enabling time to be
256 tracked, even when system is powered down. This is available on-chip
259 config MN10300_WD_TIMER
260 bool "Using MN10300 watchdog timer"
263 This options indicates that the watchdog timer will be used.
267 depends on MN10300_UNIT_ASB2305
270 Some systems (such as the ASB2305) have PCI onboard. If you have one
271 of these boards and you wish to use the PCI facilities, say Y here.
273 The PCI-HOWTO, available from
274 <http://www.tldp.org/docs.html#howto>, contains valuable
275 information about which PCI hardware does work under Linux and which
278 source "drivers/pci/Kconfig"
280 source "drivers/pcmcia/Kconfig"
282 menu "MN10300 internal serial options"
284 config MN10300_PROC_HAS_TTYSM0
288 config MN10300_PROC_HAS_TTYSM1
292 config MN10300_PROC_HAS_TTYSM2
297 bool "Support for ttySM serial ports"
302 This option enables support for the on-chip serial ports that the
303 MN10300 has available.
305 config MN10300_TTYSM_CONSOLE
306 bool "Support for console on ttySM serial ports"
307 depends on MN10300_TTYSM
308 select SERIAL_CORE_CONSOLE
310 This option enables support for a console on the on-chip serial ports
311 that the MN10300 has available.
316 config MN10300_TTYSM0
317 bool "Enable SIF0 (/dev/ttySM0)"
318 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM0
320 Enable access to SIF0 through /dev/ttySM0 or gdb-stub
323 prompt "Select the timer to supply the clock for SIF0"
324 default MN10300_TTYSM0_TIMER8
325 depends on MN10300_TTYSM0
327 config MN10300_TTYSM0_TIMER8
328 bool "Use timer 8 (16-bit)"
330 config MN10300_TTYSM0_TIMER2
331 bool "Use timer 2 (8-bit)"
338 config MN10300_TTYSM1
339 bool "Enable SIF1 (/dev/ttySM1)"
340 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM1
342 Enable access to SIF1 through /dev/ttySM1 or gdb-stub
345 prompt "Select the timer to supply the clock for SIF1"
346 default MN10300_TTYSM1_TIMER12 \
347 if !(AM33_2 || AM33_3)
348 default MN10300_TTYSM1_TIMER9 \
350 depends on MN10300_TTYSM1
352 config MN10300_TTYSM1_TIMER12
353 bool "Use timer 12 (16-bit)"
354 depends on !(AM33_2 || AM33_3)
356 config MN10300_TTYSM1_TIMER9
357 bool "Use timer 9 (16-bit)"
358 depends on AM33_2 || AM33_3
360 config MN10300_TTYSM1_TIMER3
361 bool "Use timer 3 (8-bit)"
362 depends on AM33_2 || AM33_3
369 config MN10300_TTYSM2
370 bool "Enable SIF2 (/dev/ttySM2)"
371 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM2
373 Enable access to SIF2 through /dev/ttySM2 or gdb-stub
376 prompt "Select the timer to supply the clock for SIF2"
377 default MN10300_TTYSM2_TIMER3 \
378 if !(AM33_2 || AM33_3)
379 default MN10300_TTYSM2_TIMER10 \
381 depends on MN10300_TTYSM2
383 config MN10300_TTYSM2_TIMER9
384 bool "Use timer 9 (16-bit)"
385 depends on !(AM33_2 || AM33_3)
387 config MN10300_TTYSM2_TIMER1
388 bool "Use timer 1 (8-bit)"
389 depends on !(AM33_2 || AM33_3)
391 config MN10300_TTYSM2_TIMER3
392 bool "Use timer 3 (8-bit)"
393 depends on !(AM33_2 || AM33_3)
395 config MN10300_TTYSM2_TIMER10
396 bool "Use timer 10 (16-bit)"
397 depends on AM33_2 || AM33_3
401 config MN10300_TTYSM2_CTS
402 bool "Enable the use of the CTS line /dev/ttySM2"
403 depends on MN10300_TTYSM2 && AM33_2
407 menu "Interrupt request priority options"
409 comment "[!] NOTE: A lower number/level indicates a higher priority (0 is highest, 6 is lowest)"
411 comment "____Non-maskable interrupt levels____"
412 comment "The following must be set to a higher priority than local_irq_disable() and on-chip serial"
414 config GDBSTUB_IRQ_LEVEL
415 int "GDBSTUB interrupt priority"
417 range 0 1 if LINUX_CLI_LEVEL = 2
418 range 0 2 if LINUX_CLI_LEVEL = 3
419 range 0 3 if LINUX_CLI_LEVEL = 4
420 range 0 4 if LINUX_CLI_LEVEL = 5
421 range 0 5 if LINUX_CLI_LEVEL = 6
424 comment "The following must be set to a higher priority than local_irq_disable()"
426 config MN10300_SERIAL_IRQ_LEVEL
427 int "MN10300 on-chip serial interrupt priority"
428 depends on MN10300_TTYSM
429 range 1 1 if LINUX_CLI_LEVEL = 2
430 range 1 2 if LINUX_CLI_LEVEL = 3
431 range 1 3 if LINUX_CLI_LEVEL = 4
432 range 1 4 if LINUX_CLI_LEVEL = 5
433 range 1 5 if LINUX_CLI_LEVEL = 6
437 comment "____Maskable interrupt levels____"
439 config LINUX_CLI_LEVEL
440 int "The highest interrupt priority excluded by local_irq_disable() (2-6)"
444 local_irq_disable() doesn't actually disable maskable interrupts -
445 what it does is restrict the levels of interrupt which are permitted
446 (a lower level indicates a higher priority) by lowering the value in
447 EPSW.IM from 7. Any interrupt is permitted for which the level is
450 Certain interrupts, such as GDBSTUB and virtual MN10300 on-chip
451 serial DMA interrupts are allowed to interrupt normal disabled
454 comment "The following must be set to a equal to or lower priority than LINUX_CLI_LEVEL"
456 config TIMER_IRQ_LEVEL
457 int "Kernel timer interrupt priority"
458 range LINUX_CLI_LEVEL 6
462 int "PCI interrupt priority"
464 range LINUX_CLI_LEVEL 6
467 config ETHERNET_IRQ_LEVEL
468 int "Ethernet interrupt priority"
469 depends on SMC91X || SMC911X || SMSC911X
470 range LINUX_CLI_LEVEL 6
473 config EXT_SERIAL_IRQ_LEVEL
474 int "External serial port interrupt priority"
475 depends on SERIAL_8250
476 range LINUX_CLI_LEVEL 6
483 menu "Power management options"
484 source kernel/power/Kconfig
490 menu "Executable formats"
492 source "fs/Kconfig.binfmt"
498 source "drivers/Kconfig"
502 source "arch/mn10300/Kconfig.debug"
504 source "security/Kconfig"
506 source "crypto/Kconfig"