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
79 mainmenu "Matsushita MN10300/AM33 Kernel Configuration"
83 source "kernel/Kconfig.freezer"
86 menu "Matsushita MN10300 system setup"
90 default MN10300_UNIT_ASB2303
92 This option specifies board for which the kernel will be
93 compiled. It affects the external peripherals catered for.
95 config MN10300_UNIT_ASB2303
98 config MN10300_UNIT_ASB2305
104 prompt "Processor support"
105 default MN10300_PROC_MN103E010
107 This option specifies the processor for which the kernel will be
108 compiled. It affects the on-chip peripherals catered for.
110 config MN10300_PROC_MN103E010
112 depends on MN10300_UNIT_ASB2303 || MN10300_UNIT_ASB2305
114 select MN10300_PROC_HAS_TTYSM0
115 select MN10300_PROC_HAS_TTYSM1
116 select MN10300_PROC_HAS_TTYSM2
121 prompt "Processor core support"
122 default MN10300_CPU_AM33V2
124 This option specifies the processor core for which the kernel will be
125 compiled. It affects the instruction set used.
127 config MN10300_CPU_AM33V2
132 config MN10300_HAS_ATOMIC_OPS_UNIT
135 This should be enabled if the processor has an atomic ops unit
136 capable of doing LL/SC equivalent operations.
141 depends on MN10300_PROC_MN103E010
144 bool "Save FPU state lazily"
146 depends on FPU && !SMP
148 Enable this to be lazy in the saving of the FPU state to the owning
149 task's thread struct. This is useful if most tasks on the system
150 don't use the FPU as only those tasks that use it will pass it
151 between them, and the state needn't be saved for a task that isn't
154 This can't be so easily used on SMP as the process that owns the FPU
155 state on a CPU may be currently running on another CPU, so for the
156 moment, it is disabled.
158 source "arch/mn10300/mm/Kconfig.cache"
160 config MN10300_TLB_USE_PIDR
163 menu "Memory layout options"
165 config KERNEL_RAM_BASE_ADDRESS
166 hex "Base address of kernel RAM"
169 config INTERRUPT_VECTOR_BASE
170 hex "Base address of vector table"
173 The base address of the vector table will be programmed into
174 the TBR register. It must be on 16MiB address boundary.
176 config KERNEL_TEXT_ADDRESS
177 hex "Base address of kernel"
180 config KERNEL_ZIMAGE_BASE_ADDRESS
181 hex "Base address of compressed vmlinux image"
187 bool "Preemptible Kernel"
189 This option reduces the latency of the kernel when reacting to
190 real-time or interactive events by allowing a low priority process to
191 be preempted even if it is in kernel mode executing a system call.
192 This allows applications to run more reliably even when the system is
195 Say Y here if you are building a kernel for a desktop, embedded
196 or real-time system. Say N if you are unsure.
198 config MN10300_CURRENT_IN_E2
199 bool "Hold current task address in E2 register"
202 This option removes the E2/R2 register from the set available to gcc
203 for normal use and instead uses it to store the address of the
204 current process's task_struct whilst in the kernel.
206 This means the kernel doesn't need to calculate the address each time
207 "current" is used (take SP, AND with mask and dereference pointer
208 just to get the address), and instead can just use E2+offset
209 addressing each time.
211 This has no effect on userspace.
213 config MN10300_USING_JTAG
214 bool "Using JTAG to debug kernel"
217 This options indicates that JTAG will be used to debug the kernel. It
218 suppresses the use of certain hardware debugging features, such as
219 single-stepping, which are taken over completely by the JTAG unit.
222 bool "Using MN10300 RTC"
223 depends on MN10300_PROC_MN103E010
227 This option enables support for the RTC, thus enabling time to be
228 tracked, even when system is powered down. This is available on-chip
231 config MN10300_WD_TIMER
232 bool "Using MN10300 watchdog timer"
235 This options indicates that the watchdog timer will be used.
239 depends on MN10300_UNIT_ASB2305
242 Some systems (such as the ASB2305) have PCI onboard. If you have one
243 of these boards and you wish to use the PCI facilities, say Y here.
245 The PCI-HOWTO, available from
246 <http://www.tldp.org/docs.html#howto>, contains valuable
247 information about which PCI hardware does work under Linux and which
250 source "drivers/pci/Kconfig"
252 source "drivers/pcmcia/Kconfig"
254 menu "MN10300 internal serial options"
256 config MN10300_PROC_HAS_TTYSM0
260 config MN10300_PROC_HAS_TTYSM1
264 config MN10300_PROC_HAS_TTYSM2
269 bool "Support for ttySM serial ports"
274 This option enables support for the on-chip serial ports that the
275 MN10300 has available.
277 config MN10300_TTYSM_CONSOLE
278 bool "Support for console on ttySM serial ports"
279 depends on MN10300_TTYSM
280 select SERIAL_CORE_CONSOLE
282 This option enables support for a console on the on-chip serial ports
283 that the MN10300 has available.
288 config MN10300_TTYSM0
289 bool "Enable SIF0 (/dev/ttySM0)"
290 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM0
292 Enable access to SIF0 through /dev/ttySM0 or gdb-stub
295 prompt "Select the timer to supply the clock for SIF0"
296 default MN10300_TTYSM0_TIMER8
297 depends on MN10300_TTYSM0
299 config MN10300_TTYSM0_TIMER8
300 bool "Use timer 8 (16-bit)"
302 config MN10300_TTYSM0_TIMER2
303 bool "Use timer 2 (8-bit)"
310 config MN10300_TTYSM1
311 bool "Enable SIF1 (/dev/ttySM1)"
312 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM1
314 Enable access to SIF1 through /dev/ttySM1 or gdb-stub
317 prompt "Select the timer to supply the clock for SIF1"
318 default MN10300_TTYSM0_TIMER9
319 depends on MN10300_TTYSM1
321 config MN10300_TTYSM1_TIMER9
322 bool "Use timer 9 (16-bit)"
324 config MN10300_TTYSM1_TIMER3
325 bool "Use timer 3 (8-bit)"
332 config MN10300_TTYSM2
333 bool "Enable SIF2 (/dev/ttySM2)"
334 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM2
336 Enable access to SIF2 through /dev/ttySM2 or gdb-stub
339 prompt "Select the timer to supply the clock for SIF2"
340 default MN10300_TTYSM0_TIMER10
341 depends on MN10300_TTYSM2
343 config MN10300_TTYSM2_TIMER10
344 bool "Use timer 10 (16-bit)"
348 config MN10300_TTYSM2_CTS
349 bool "Enable the use of the CTS line /dev/ttySM2"
350 depends on MN10300_TTYSM2
354 menu "Interrupt request priority options"
356 comment "[!] NOTE: A lower number/level indicates a higher priority (0 is highest, 6 is lowest)"
358 comment "____Non-maskable interrupt levels____"
359 comment "The following must be set to a higher priority than local_irq_disable() and on-chip serial"
361 config GDBSTUB_IRQ_LEVEL
362 int "GDBSTUB interrupt priority"
364 range 0 1 if LINUX_CLI_LEVEL = 2
365 range 0 2 if LINUX_CLI_LEVEL = 3
366 range 0 3 if LINUX_CLI_LEVEL = 4
367 range 0 4 if LINUX_CLI_LEVEL = 5
368 range 0 5 if LINUX_CLI_LEVEL = 6
371 comment "The following must be set to a higher priority than local_irq_disable()"
373 config MN10300_SERIAL_IRQ_LEVEL
374 int "MN10300 on-chip serial interrupt priority"
375 depends on MN10300_TTYSM
376 range 1 1 if LINUX_CLI_LEVEL = 2
377 range 1 2 if LINUX_CLI_LEVEL = 3
378 range 1 3 if LINUX_CLI_LEVEL = 4
379 range 1 4 if LINUX_CLI_LEVEL = 5
380 range 1 5 if LINUX_CLI_LEVEL = 6
384 comment "____Maskable interrupt levels____"
386 config LINUX_CLI_LEVEL
387 int "The highest interrupt priority excluded by local_irq_disable() (2-6)"
391 local_irq_disable() doesn't actually disable maskable interrupts -
392 what it does is restrict the levels of interrupt which are permitted
393 (a lower level indicates a higher priority) by lowering the value in
394 EPSW.IM from 7. Any interrupt is permitted for which the level is
397 Certain interrupts, such as GDBSTUB and virtual MN10300 on-chip
398 serial DMA interrupts are allowed to interrupt normal disabled
401 comment "The following must be set to a equal to or lower priority than LINUX_CLI_LEVEL"
403 config TIMER_IRQ_LEVEL
404 int "Kernel timer interrupt priority"
405 range LINUX_CLI_LEVEL 6
409 int "PCI interrupt priority"
411 range LINUX_CLI_LEVEL 6
414 config ETHERNET_IRQ_LEVEL
415 int "Ethernet interrupt priority"
416 depends on SMC91X || SMC911X || SMSC911X
417 range LINUX_CLI_LEVEL 6
420 config EXT_SERIAL_IRQ_LEVEL
421 int "External serial port interrupt priority"
422 depends on SERIAL_8250
423 range LINUX_CLI_LEVEL 6
430 menu "Power management options"
431 source kernel/power/Kconfig
437 menu "Executable formats"
439 source "fs/Kconfig.binfmt"
445 source "drivers/Kconfig"
449 source "arch/mn10300/Kconfig.debug"
451 source "security/Kconfig"
453 source "crypto/Kconfig"