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
62 config GENERIC_CLOCKEVENTS
65 config GENERIC_CLOCKEVENTS_BUILD
67 depends on GENERIC_CLOCKEVENTS
69 config GENERIC_CLOCKEVENTS_BROADCAST
74 depends on GENERIC_CLOCKEVENTS
78 depends on GENERIC_TIME
86 config ARCH_HAS_ILOG2_U32
89 # Use the generic interrupt handling code in kernel/irq/
90 config GENERIC_HARDIRQS
96 mainmenu "Matsushita MN10300/AM33 Kernel Configuration"
100 source "kernel/Kconfig.freezer"
103 menu "Matsushita MN10300 system setup"
107 default MN10300_UNIT_ASB2303
109 This option specifies board for which the kernel will be
110 compiled. It affects the external peripherals catered for.
112 config MN10300_UNIT_ASB2303
115 config MN10300_UNIT_ASB2305
118 config MN10300_UNIT_ASB2364
124 prompt "Processor support"
125 default MN10300_PROC_MN103E010
127 This option specifies the processor for which the kernel will be
128 compiled. It affects the on-chip peripherals catered for.
130 config MN10300_PROC_MN103E010
132 depends on MN10300_UNIT_ASB2303 || MN10300_UNIT_ASB2305
134 select MN10300_PROC_HAS_TTYSM0
135 select MN10300_PROC_HAS_TTYSM1
136 select MN10300_PROC_HAS_TTYSM2
138 config MN10300_PROC_MN2WS0050
140 depends on MN10300_UNIT_ASB2364
142 select MN10300_PROC_HAS_TTYSM0
143 select MN10300_PROC_HAS_TTYSM1
144 select MN10300_PROC_HAS_TTYSM2
148 config MN10300_HAS_ATOMIC_OPS_UNIT
151 This should be enabled if the processor has an atomic ops unit
152 capable of doing LL/SC equivalent operations.
157 depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
160 bool "Save FPU state lazily"
162 depends on FPU && !SMP
164 Enable this to be lazy in the saving of the FPU state to the owning
165 task's thread struct. This is useful if most tasks on the system
166 don't use the FPU as only those tasks that use it will pass it
167 between them, and the state needn't be saved for a task that isn't
170 This can't be so easily used on SMP as the process that owns the FPU
171 state on a CPU may be currently running on another CPU, so for the
172 moment, it is disabled.
174 source "arch/mn10300/mm/Kconfig.cache"
176 config MN10300_TLB_USE_PIDR
179 menu "Memory layout options"
181 config KERNEL_RAM_BASE_ADDRESS
182 hex "Base address of kernel RAM"
185 config INTERRUPT_VECTOR_BASE
186 hex "Base address of vector table"
189 The base address of the vector table will be programmed into
190 the TBR register. It must be on 16MiB address boundary.
192 config KERNEL_TEXT_ADDRESS
193 hex "Base address of kernel"
196 config KERNEL_ZIMAGE_BASE_ADDRESS
197 hex "Base address of compressed vmlinux image"
200 config BOOT_STACK_OFFSET
202 default "0xF00" if SMP
203 default "0xFF0" if !SMP
205 config BOOT_STACK_SIZE
212 bool "Symmetric multi-processing support"
214 depends on MN10300_PROC_MN2WS0038 || MN10300_PROC_MN2WS0050
216 This enables support for systems with more than one CPU. If you have
217 a system with only one CPU, like most personal computers, say N. If
218 you have a system with more than one CPU, say Y.
220 If you say N here, the kernel will run on single and multiprocessor
221 machines, but will use only one CPU of a multiprocessor machine. If
222 you say Y here, the kernel will run on many, but not all,
223 singleprocessor machines. On a singleprocessor machine, the kernel
224 will run faster if you say N here.
226 See also <file:Documentation/i386/IO-APIC.txt>,
227 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
228 <http://www.tldp.org/docs.html#howto>.
230 If you don't know what to do here, say N.
237 config USE_GENERIC_SMP_HELPERS
242 source "kernel/Kconfig.preempt"
244 config MN10300_CURRENT_IN_E2
245 bool "Hold current task address in E2 register"
249 This option removes the E2/R2 register from the set available to gcc
250 for normal use and instead uses it to store the address of the
251 current process's task_struct whilst in the kernel.
253 This means the kernel doesn't need to calculate the address each time
254 "current" is used (take SP, AND with mask and dereference pointer
255 just to get the address), and instead can just use E2+offset
256 addressing each time.
258 This has no effect on userspace.
260 config MN10300_USING_JTAG
261 bool "Using JTAG to debug kernel"
264 This options indicates that JTAG will be used to debug the kernel. It
265 suppresses the use of certain hardware debugging features, such as
266 single-stepping, which are taken over completely by the JTAG unit.
268 source "kernel/Kconfig.hz"
269 source "kernel/time/Kconfig"
272 bool "Using MN10300 RTC"
273 depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
274 select GENERIC_CMOS_UPDATE
277 This option enables support for the RTC, thus enabling time to be
278 tracked, even when system is powered down. This is available on-chip
281 config MN10300_WD_TIMER
282 bool "Using MN10300 watchdog timer"
285 This options indicates that the watchdog timer will be used.
289 depends on MN10300_UNIT_ASB2305
292 Some systems (such as the ASB2305) have PCI onboard. If you have one
293 of these boards and you wish to use the PCI facilities, say Y here.
295 The PCI-HOWTO, available from
296 <http://www.tldp.org/docs.html#howto>, contains valuable
297 information about which PCI hardware does work under Linux and which
300 source "drivers/pci/Kconfig"
302 source "drivers/pcmcia/Kconfig"
304 menu "MN10300 internal serial options"
306 config MN10300_PROC_HAS_TTYSM0
310 config MN10300_PROC_HAS_TTYSM1
314 config MN10300_PROC_HAS_TTYSM2
319 bool "Support for ttySM serial ports"
324 This option enables support for the on-chip serial ports that the
325 MN10300 has available.
327 config MN10300_TTYSM_CONSOLE
328 bool "Support for console on ttySM serial ports"
329 depends on MN10300_TTYSM
330 select SERIAL_CORE_CONSOLE
332 This option enables support for a console on the on-chip serial ports
333 that the MN10300 has available.
338 config MN10300_TTYSM0
339 bool "Enable SIF0 (/dev/ttySM0)"
340 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM0
342 Enable access to SIF0 through /dev/ttySM0 or gdb-stub
345 prompt "Select the timer to supply the clock for SIF0"
346 default MN10300_TTYSM0_TIMER8
347 depends on MN10300_TTYSM0
349 config MN10300_TTYSM0_TIMER8
350 bool "Use timer 8 (16-bit)"
352 config MN10300_TTYSM0_TIMER2
353 bool "Use timer 2 (8-bit)"
360 config MN10300_TTYSM1
361 bool "Enable SIF1 (/dev/ttySM1)"
362 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM1
364 Enable access to SIF1 through /dev/ttySM1 or gdb-stub
367 prompt "Select the timer to supply the clock for SIF1"
368 default MN10300_TTYSM1_TIMER12 \
369 if !(AM33_2 || AM33_3)
370 default MN10300_TTYSM1_TIMER9 \
372 depends on MN10300_TTYSM1
374 config MN10300_TTYSM1_TIMER12
375 bool "Use timer 12 (16-bit)"
376 depends on !(AM33_2 || AM33_3)
378 config MN10300_TTYSM1_TIMER9
379 bool "Use timer 9 (16-bit)"
380 depends on AM33_2 || AM33_3
382 config MN10300_TTYSM1_TIMER3
383 bool "Use timer 3 (8-bit)"
384 depends on AM33_2 || AM33_3
391 config MN10300_TTYSM2
392 bool "Enable SIF2 (/dev/ttySM2)"
393 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM2
395 Enable access to SIF2 through /dev/ttySM2 or gdb-stub
398 prompt "Select the timer to supply the clock for SIF2"
399 default MN10300_TTYSM2_TIMER3 \
400 if !(AM33_2 || AM33_3)
401 default MN10300_TTYSM2_TIMER10 \
403 depends on MN10300_TTYSM2
405 config MN10300_TTYSM2_TIMER9
406 bool "Use timer 9 (16-bit)"
407 depends on !(AM33_2 || AM33_3)
409 config MN10300_TTYSM2_TIMER1
410 bool "Use timer 1 (8-bit)"
411 depends on !(AM33_2 || AM33_3)
413 config MN10300_TTYSM2_TIMER3
414 bool "Use timer 3 (8-bit)"
415 depends on !(AM33_2 || AM33_3)
417 config MN10300_TTYSM2_TIMER10
418 bool "Use timer 10 (16-bit)"
419 depends on AM33_2 || AM33_3
423 config MN10300_TTYSM2_CTS
424 bool "Enable the use of the CTS line /dev/ttySM2"
425 depends on MN10300_TTYSM2 && AM33_2
429 menu "Interrupt request priority options"
431 comment "[!] NOTE: A lower number/level indicates a higher priority (0 is highest, 6 is lowest)"
433 comment "____Non-maskable interrupt levels____"
434 comment "The following must be set to a higher priority than local_irq_disable() and on-chip serial"
436 config GDBSTUB_IRQ_LEVEL
437 int "GDBSTUB interrupt priority"
439 range 0 1 if LINUX_CLI_LEVEL = 2
440 range 0 2 if LINUX_CLI_LEVEL = 3
441 range 0 3 if LINUX_CLI_LEVEL = 4
442 range 0 4 if LINUX_CLI_LEVEL = 5
443 range 0 5 if LINUX_CLI_LEVEL = 6
446 comment "The following must be set to a higher priority than local_irq_disable()"
448 config MN10300_SERIAL_IRQ_LEVEL
449 int "MN10300 on-chip serial interrupt priority"
450 depends on MN10300_TTYSM
451 range 1 1 if LINUX_CLI_LEVEL = 2
452 range 1 2 if LINUX_CLI_LEVEL = 3
453 range 1 3 if LINUX_CLI_LEVEL = 4
454 range 1 4 if LINUX_CLI_LEVEL = 5
455 range 1 5 if LINUX_CLI_LEVEL = 6
459 comment "____Maskable interrupt levels____"
461 config LINUX_CLI_LEVEL
462 int "The highest interrupt priority excluded by local_irq_disable() (2-6)"
466 local_irq_disable() doesn't actually disable maskable interrupts -
467 what it does is restrict the levels of interrupt which are permitted
468 (a lower level indicates a higher priority) by lowering the value in
469 EPSW.IM from 7. Any interrupt is permitted for which the level is
472 Certain interrupts, such as GDBSTUB and virtual MN10300 on-chip
473 serial DMA interrupts are allowed to interrupt normal disabled
476 comment "The following must be set to a equal to or lower priority than LINUX_CLI_LEVEL"
478 config TIMER_IRQ_LEVEL
479 int "Kernel timer interrupt priority"
480 range LINUX_CLI_LEVEL 6
484 int "PCI interrupt priority"
486 range LINUX_CLI_LEVEL 6
489 config ETHERNET_IRQ_LEVEL
490 int "Ethernet interrupt priority"
491 depends on SMC91X || SMC911X || SMSC911X
492 range LINUX_CLI_LEVEL 6
495 config EXT_SERIAL_IRQ_LEVEL
496 int "External serial port interrupt priority"
497 depends on SERIAL_8250
498 range LINUX_CLI_LEVEL 6
505 menu "Power management options"
506 source kernel/power/Kconfig
512 menu "Executable formats"
514 source "fs/Kconfig.binfmt"
520 source "drivers/Kconfig"
524 source "arch/mn10300/Kconfig.debug"
526 source "security/Kconfig"
528 source "crypto/Kconfig"