13 select MN10300_HAS_ATOMIC_OPS_UNIT
14 select MN10300_HAS_CACHE_SNOOP
16 config ERRATUM_NEED_TO_RELOAD_MMUCTR
17 def_bool y if AM33_3 || AM34_2
31 config RWSEM_GENERIC_SPINLOCK
34 config RWSEM_XCHGADD_ALGORITHM
37 config GENERIC_CALIBRATE_DELAY
40 config GENERIC_CMOS_UPDATE
43 config GENERIC_FIND_NEXT_BIT
46 config GENERIC_HWEIGHT
52 config GENERIC_CLOCKEVENTS
55 config GENERIC_CLOCKEVENTS_BUILD
57 depends on GENERIC_CLOCKEVENTS
59 config GENERIC_CLOCKEVENTS_BROADCAST
64 depends on GENERIC_CLOCKEVENTS
68 depends on GENERIC_TIME
76 config ARCH_HAS_ILOG2_U32
79 # Use the generic interrupt handling code in kernel/irq/
80 config GENERIC_HARDIRQS
88 source "kernel/Kconfig.freezer"
91 menu "Panasonic MN10300 system setup"
95 default MN10300_UNIT_ASB2303
97 This option specifies board for which the kernel will be
98 compiled. It affects the external peripherals catered for.
100 config MN10300_UNIT_ASB2303
103 config MN10300_UNIT_ASB2305
106 config MN10300_UNIT_ASB2364
108 select SMSC911X_ARCH_HOOKS if SMSC911X
113 prompt "Processor support"
114 default MN10300_PROC_MN103E010
116 This option specifies the processor for which the kernel will be
117 compiled. It affects the on-chip peripherals catered for.
119 config MN10300_PROC_MN103E010
121 depends on MN10300_UNIT_ASB2303 || MN10300_UNIT_ASB2305
123 select MN10300_PROC_HAS_TTYSM0
124 select MN10300_PROC_HAS_TTYSM1
125 select MN10300_PROC_HAS_TTYSM2
127 config MN10300_PROC_MN2WS0050
129 depends on MN10300_UNIT_ASB2364
131 select MN10300_PROC_HAS_TTYSM0
132 select MN10300_PROC_HAS_TTYSM1
133 select MN10300_PROC_HAS_TTYSM2
137 config MN10300_HAS_ATOMIC_OPS_UNIT
140 This should be enabled if the processor has an atomic ops unit
141 capable of doing LL/SC equivalent operations.
146 depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
149 bool "Save FPU state lazily"
151 depends on FPU && !SMP
153 Enable this to be lazy in the saving of the FPU state to the owning
154 task's thread struct. This is useful if most tasks on the system
155 don't use the FPU as only those tasks that use it will pass it
156 between them, and the state needn't be saved for a task that isn't
159 This can't be so easily used on SMP as the process that owns the FPU
160 state on a CPU may be currently running on another CPU, so for the
161 moment, it is disabled.
163 source "arch/mn10300/mm/Kconfig.cache"
165 config MN10300_TLB_USE_PIDR
168 menu "Memory layout options"
170 config KERNEL_RAM_BASE_ADDRESS
171 hex "Base address of kernel RAM"
174 config INTERRUPT_VECTOR_BASE
175 hex "Base address of vector table"
178 The base address of the vector table will be programmed into
179 the TBR register. It must be on 16MiB address boundary.
181 config KERNEL_TEXT_ADDRESS
182 hex "Base address of kernel"
185 config KERNEL_ZIMAGE_BASE_ADDRESS
186 hex "Base address of compressed vmlinux image"
189 config BOOT_STACK_OFFSET
191 default "0xF00" if SMP
192 default "0xFF0" if !SMP
194 config BOOT_STACK_SIZE
201 bool "Symmetric multi-processing support"
203 select USE_GENERIC_SMP_HELPERS
204 depends on MN10300_PROC_MN2WS0038 || MN10300_PROC_MN2WS0050
206 This enables support for systems with more than one CPU. If you have
207 a system with only one CPU, like most personal computers, say N. If
208 you have a system with more than one CPU, say Y.
210 If you say N here, the kernel will run on single and multiprocessor
211 machines, but will use only one CPU of a multiprocessor machine. If
212 you say Y here, the kernel will run on many, but not all,
213 singleprocessor machines. On a singleprocessor machine, the kernel
214 will run faster if you say N here.
216 See also <file:Documentation/i386/IO-APIC.txt>,
217 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
218 <http://www.tldp.org/docs.html#howto>.
220 If you don't know what to do here, say N.
227 source "kernel/Kconfig.preempt"
229 config MN10300_CURRENT_IN_E2
230 bool "Hold current task address in E2 register"
234 This option removes the E2/R2 register from the set available to gcc
235 for normal use and instead uses it to store the address of the
236 current process's task_struct whilst in the kernel.
238 This means the kernel doesn't need to calculate the address each time
239 "current" is used (take SP, AND with mask and dereference pointer
240 just to get the address), and instead can just use E2+offset
241 addressing each time.
243 This has no effect on userspace.
245 config MN10300_USING_JTAG
246 bool "Using JTAG to debug kernel"
249 This options indicates that JTAG will be used to debug the kernel. It
250 suppresses the use of certain hardware debugging features, such as
251 single-stepping, which are taken over completely by the JTAG unit.
253 source "kernel/Kconfig.hz"
254 source "kernel/time/Kconfig"
257 bool "Using MN10300 RTC"
258 depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
259 select GENERIC_CMOS_UPDATE
262 This option enables support for the RTC, thus enabling time to be
263 tracked, even when system is powered down. This is available on-chip
266 config MN10300_WD_TIMER
267 bool "Using MN10300 watchdog timer"
270 This options indicates that the watchdog timer will be used.
274 depends on MN10300_UNIT_ASB2305
277 Some systems (such as the ASB2305) have PCI onboard. If you have one
278 of these boards and you wish to use the PCI facilities, say Y here.
280 The PCI-HOWTO, available from
281 <http://www.tldp.org/docs.html#howto>, contains valuable
282 information about which PCI hardware does work under Linux and which
285 source "drivers/pci/Kconfig"
287 source "drivers/pcmcia/Kconfig"
289 menu "MN10300 internal serial options"
291 config MN10300_PROC_HAS_TTYSM0
295 config MN10300_PROC_HAS_TTYSM1
299 config MN10300_PROC_HAS_TTYSM2
304 bool "Support for ttySM serial ports"
309 This option enables support for the on-chip serial ports that the
310 MN10300 has available.
312 config MN10300_TTYSM_CONSOLE
313 bool "Support for console on ttySM serial ports"
314 depends on MN10300_TTYSM
315 select SERIAL_CORE_CONSOLE
317 This option enables support for a console on the on-chip serial ports
318 that the MN10300 has available.
323 config MN10300_TTYSM0
324 bool "Enable SIF0 (/dev/ttySM0)"
325 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM0
327 Enable access to SIF0 through /dev/ttySM0 or gdb-stub
330 prompt "Select the timer to supply the clock for SIF0"
331 default MN10300_TTYSM0_TIMER8
332 depends on MN10300_TTYSM0
334 config MN10300_TTYSM0_TIMER8
335 bool "Use timer 8 (16-bit)"
337 config MN10300_TTYSM0_TIMER2
338 bool "Use timer 2 (8-bit)"
345 config MN10300_TTYSM1
346 bool "Enable SIF1 (/dev/ttySM1)"
347 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM1
349 Enable access to SIF1 through /dev/ttySM1 or gdb-stub
352 prompt "Select the timer to supply the clock for SIF1"
353 default MN10300_TTYSM1_TIMER12 \
354 if !(AM33_2 || AM33_3)
355 default MN10300_TTYSM1_TIMER9 \
357 depends on MN10300_TTYSM1
359 config MN10300_TTYSM1_TIMER12
360 bool "Use timer 12 (16-bit)"
361 depends on !(AM33_2 || AM33_3)
363 config MN10300_TTYSM1_TIMER9
364 bool "Use timer 9 (16-bit)"
365 depends on AM33_2 || AM33_3
367 config MN10300_TTYSM1_TIMER3
368 bool "Use timer 3 (8-bit)"
369 depends on AM33_2 || AM33_3
376 config MN10300_TTYSM2
377 bool "Enable SIF2 (/dev/ttySM2)"
378 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM2
380 Enable access to SIF2 through /dev/ttySM2 or gdb-stub
383 prompt "Select the timer to supply the clock for SIF2"
384 default MN10300_TTYSM2_TIMER3 \
385 if !(AM33_2 || AM33_3)
386 default MN10300_TTYSM2_TIMER10 \
388 depends on MN10300_TTYSM2
390 config MN10300_TTYSM2_TIMER9
391 bool "Use timer 9 (16-bit)"
392 depends on !(AM33_2 || AM33_3)
394 config MN10300_TTYSM2_TIMER1
395 bool "Use timer 1 (8-bit)"
396 depends on !(AM33_2 || AM33_3)
398 config MN10300_TTYSM2_TIMER3
399 bool "Use timer 3 (8-bit)"
400 depends on !(AM33_2 || AM33_3)
402 config MN10300_TTYSM2_TIMER10
403 bool "Use timer 10 (16-bit)"
404 depends on AM33_2 || AM33_3
408 config MN10300_TTYSM2_CTS
409 bool "Enable the use of the CTS line /dev/ttySM2"
410 depends on MN10300_TTYSM2 && AM33_2
414 menu "Interrupt request priority options"
416 comment "[!] NOTE: A lower number/level indicates a higher priority (0 is highest, 6 is lowest)"
418 comment "____Non-maskable interrupt levels____"
419 comment "The following must be set to a higher priority than local_irq_disable() and on-chip serial"
421 config GDBSTUB_IRQ_LEVEL
422 int "GDBSTUB interrupt priority"
424 range 0 1 if LINUX_CLI_LEVEL = 2
425 range 0 2 if LINUX_CLI_LEVEL = 3
426 range 0 3 if LINUX_CLI_LEVEL = 4
427 range 0 4 if LINUX_CLI_LEVEL = 5
428 range 0 5 if LINUX_CLI_LEVEL = 6
431 comment "The following must be set to a higher priority than local_irq_disable()"
433 config MN10300_SERIAL_IRQ_LEVEL
434 int "MN10300 on-chip serial interrupt priority"
435 depends on MN10300_TTYSM
436 range 1 1 if LINUX_CLI_LEVEL = 2
437 range 1 2 if LINUX_CLI_LEVEL = 3
438 range 1 3 if LINUX_CLI_LEVEL = 4
439 range 1 4 if LINUX_CLI_LEVEL = 5
440 range 1 5 if LINUX_CLI_LEVEL = 6
444 comment "____Maskable interrupt levels____"
446 config LINUX_CLI_LEVEL
447 int "The highest interrupt priority excluded by local_irq_disable() (2-6)"
451 local_irq_disable() doesn't actually disable maskable interrupts -
452 what it does is restrict the levels of interrupt which are permitted
453 (a lower level indicates a higher priority) by lowering the value in
454 EPSW.IM from 7. Any interrupt is permitted for which the level is
457 Certain interrupts, such as GDBSTUB and virtual MN10300 on-chip
458 serial DMA interrupts are allowed to interrupt normal disabled
461 comment "The following must be set to a equal to or lower priority than LINUX_CLI_LEVEL"
463 config TIMER_IRQ_LEVEL
464 int "Kernel timer interrupt priority"
465 range LINUX_CLI_LEVEL 6
469 int "PCI interrupt priority"
471 range LINUX_CLI_LEVEL 6
474 config ETHERNET_IRQ_LEVEL
475 int "Ethernet interrupt priority"
476 depends on SMC91X || SMC911X || SMSC911X
477 range LINUX_CLI_LEVEL 6
480 config EXT_SERIAL_IRQ_LEVEL
481 int "External serial port interrupt priority"
482 depends on SERIAL_8250
483 range LINUX_CLI_LEVEL 6
490 menu "Power management options"
491 source kernel/power/Kconfig
497 menu "Executable formats"
499 source "fs/Kconfig.binfmt"
505 source "drivers/Kconfig"
509 source "arch/mn10300/Kconfig.debug"
511 source "security/Kconfig"
513 source "crypto/Kconfig"