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_HARDIRQS_NO__DO_IRQ
40 config GENERIC_CALIBRATE_DELAY
43 config GENERIC_CMOS_UPDATE
46 config GENERIC_FIND_NEXT_BIT
49 config GENERIC_HWEIGHT
55 config GENERIC_CLOCKEVENTS
58 config GENERIC_CLOCKEVENTS_BUILD
60 depends on GENERIC_CLOCKEVENTS
62 config GENERIC_CLOCKEVENTS_BROADCAST
67 depends on GENERIC_CLOCKEVENTS
71 depends on GENERIC_TIME
79 config ARCH_HAS_ILOG2_U32
82 # Use the generic interrupt handling code in kernel/irq/
83 config GENERIC_HARDIRQS
91 source "kernel/Kconfig.freezer"
94 menu "Panasonic MN10300 system setup"
98 default MN10300_UNIT_ASB2303
100 This option specifies board for which the kernel will be
101 compiled. It affects the external peripherals catered for.
103 config MN10300_UNIT_ASB2303
106 config MN10300_UNIT_ASB2305
109 config MN10300_UNIT_ASB2364
111 select SMSC911X_ARCH_HOOKS if SMSC911X
116 prompt "Processor support"
117 default MN10300_PROC_MN103E010
119 This option specifies the processor for which the kernel will be
120 compiled. It affects the on-chip peripherals catered for.
122 config MN10300_PROC_MN103E010
124 depends on MN10300_UNIT_ASB2303 || MN10300_UNIT_ASB2305
126 select MN10300_PROC_HAS_TTYSM0
127 select MN10300_PROC_HAS_TTYSM1
128 select MN10300_PROC_HAS_TTYSM2
130 config MN10300_PROC_MN2WS0050
132 depends on MN10300_UNIT_ASB2364
134 select MN10300_PROC_HAS_TTYSM0
135 select MN10300_PROC_HAS_TTYSM1
136 select MN10300_PROC_HAS_TTYSM2
140 config MN10300_HAS_ATOMIC_OPS_UNIT
143 This should be enabled if the processor has an atomic ops unit
144 capable of doing LL/SC equivalent operations.
149 depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
152 bool "Save FPU state lazily"
154 depends on FPU && !SMP
156 Enable this to be lazy in the saving of the FPU state to the owning
157 task's thread struct. This is useful if most tasks on the system
158 don't use the FPU as only those tasks that use it will pass it
159 between them, and the state needn't be saved for a task that isn't
162 This can't be so easily used on SMP as the process that owns the FPU
163 state on a CPU may be currently running on another CPU, so for the
164 moment, it is disabled.
166 source "arch/mn10300/mm/Kconfig.cache"
168 config MN10300_TLB_USE_PIDR
171 menu "Memory layout options"
173 config KERNEL_RAM_BASE_ADDRESS
174 hex "Base address of kernel RAM"
177 config INTERRUPT_VECTOR_BASE
178 hex "Base address of vector table"
181 The base address of the vector table will be programmed into
182 the TBR register. It must be on 16MiB address boundary.
184 config KERNEL_TEXT_ADDRESS
185 hex "Base address of kernel"
188 config KERNEL_ZIMAGE_BASE_ADDRESS
189 hex "Base address of compressed vmlinux image"
192 config BOOT_STACK_OFFSET
194 default "0xF00" if SMP
195 default "0xFF0" if !SMP
197 config BOOT_STACK_SIZE
204 bool "Symmetric multi-processing support"
206 depends on MN10300_PROC_MN2WS0038 || MN10300_PROC_MN2WS0050
208 This enables support for systems with more than one CPU. If you have
209 a system with only one CPU, like most personal computers, say N. If
210 you have a system with more than one CPU, say Y.
212 If you say N here, the kernel will run on single and multiprocessor
213 machines, but will use only one CPU of a multiprocessor machine. If
214 you say Y here, the kernel will run on many, but not all,
215 singleprocessor machines. On a singleprocessor machine, the kernel
216 will run faster if you say N here.
218 See also <file:Documentation/i386/IO-APIC.txt>,
219 <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at
220 <http://www.tldp.org/docs.html#howto>.
222 If you don't know what to do here, say N.
229 config USE_GENERIC_SMP_HELPERS
234 source "kernel/Kconfig.preempt"
236 config MN10300_CURRENT_IN_E2
237 bool "Hold current task address in E2 register"
241 This option removes the E2/R2 register from the set available to gcc
242 for normal use and instead uses it to store the address of the
243 current process's task_struct whilst in the kernel.
245 This means the kernel doesn't need to calculate the address each time
246 "current" is used (take SP, AND with mask and dereference pointer
247 just to get the address), and instead can just use E2+offset
248 addressing each time.
250 This has no effect on userspace.
252 config MN10300_USING_JTAG
253 bool "Using JTAG to debug kernel"
256 This options indicates that JTAG will be used to debug the kernel. It
257 suppresses the use of certain hardware debugging features, such as
258 single-stepping, which are taken over completely by the JTAG unit.
260 source "kernel/Kconfig.hz"
261 source "kernel/time/Kconfig"
264 bool "Using MN10300 RTC"
265 depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050
266 select GENERIC_CMOS_UPDATE
269 This option enables support for the RTC, thus enabling time to be
270 tracked, even when system is powered down. This is available on-chip
273 config MN10300_WD_TIMER
274 bool "Using MN10300 watchdog timer"
277 This options indicates that the watchdog timer will be used.
281 depends on MN10300_UNIT_ASB2305
284 Some systems (such as the ASB2305) have PCI onboard. If you have one
285 of these boards and you wish to use the PCI facilities, say Y here.
287 The PCI-HOWTO, available from
288 <http://www.tldp.org/docs.html#howto>, contains valuable
289 information about which PCI hardware does work under Linux and which
292 source "drivers/pci/Kconfig"
294 source "drivers/pcmcia/Kconfig"
296 menu "MN10300 internal serial options"
298 config MN10300_PROC_HAS_TTYSM0
302 config MN10300_PROC_HAS_TTYSM1
306 config MN10300_PROC_HAS_TTYSM2
311 bool "Support for ttySM serial ports"
316 This option enables support for the on-chip serial ports that the
317 MN10300 has available.
319 config MN10300_TTYSM_CONSOLE
320 bool "Support for console on ttySM serial ports"
321 depends on MN10300_TTYSM
322 select SERIAL_CORE_CONSOLE
324 This option enables support for a console on the on-chip serial ports
325 that the MN10300 has available.
330 config MN10300_TTYSM0
331 bool "Enable SIF0 (/dev/ttySM0)"
332 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM0
334 Enable access to SIF0 through /dev/ttySM0 or gdb-stub
337 prompt "Select the timer to supply the clock for SIF0"
338 default MN10300_TTYSM0_TIMER8
339 depends on MN10300_TTYSM0
341 config MN10300_TTYSM0_TIMER8
342 bool "Use timer 8 (16-bit)"
344 config MN10300_TTYSM0_TIMER2
345 bool "Use timer 2 (8-bit)"
352 config MN10300_TTYSM1
353 bool "Enable SIF1 (/dev/ttySM1)"
354 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM1
356 Enable access to SIF1 through /dev/ttySM1 or gdb-stub
359 prompt "Select the timer to supply the clock for SIF1"
360 default MN10300_TTYSM1_TIMER12 \
361 if !(AM33_2 || AM33_3)
362 default MN10300_TTYSM1_TIMER9 \
364 depends on MN10300_TTYSM1
366 config MN10300_TTYSM1_TIMER12
367 bool "Use timer 12 (16-bit)"
368 depends on !(AM33_2 || AM33_3)
370 config MN10300_TTYSM1_TIMER9
371 bool "Use timer 9 (16-bit)"
372 depends on AM33_2 || AM33_3
374 config MN10300_TTYSM1_TIMER3
375 bool "Use timer 3 (8-bit)"
376 depends on AM33_2 || AM33_3
383 config MN10300_TTYSM2
384 bool "Enable SIF2 (/dev/ttySM2)"
385 depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM2
387 Enable access to SIF2 through /dev/ttySM2 or gdb-stub
390 prompt "Select the timer to supply the clock for SIF2"
391 default MN10300_TTYSM2_TIMER3 \
392 if !(AM33_2 || AM33_3)
393 default MN10300_TTYSM2_TIMER10 \
395 depends on MN10300_TTYSM2
397 config MN10300_TTYSM2_TIMER9
398 bool "Use timer 9 (16-bit)"
399 depends on !(AM33_2 || AM33_3)
401 config MN10300_TTYSM2_TIMER1
402 bool "Use timer 1 (8-bit)"
403 depends on !(AM33_2 || AM33_3)
405 config MN10300_TTYSM2_TIMER3
406 bool "Use timer 3 (8-bit)"
407 depends on !(AM33_2 || AM33_3)
409 config MN10300_TTYSM2_TIMER10
410 bool "Use timer 10 (16-bit)"
411 depends on AM33_2 || AM33_3
415 config MN10300_TTYSM2_CTS
416 bool "Enable the use of the CTS line /dev/ttySM2"
417 depends on MN10300_TTYSM2 && AM33_2
421 menu "Interrupt request priority options"
423 comment "[!] NOTE: A lower number/level indicates a higher priority (0 is highest, 6 is lowest)"
425 comment "____Non-maskable interrupt levels____"
426 comment "The following must be set to a higher priority than local_irq_disable() and on-chip serial"
428 config GDBSTUB_IRQ_LEVEL
429 int "GDBSTUB interrupt priority"
431 range 0 1 if LINUX_CLI_LEVEL = 2
432 range 0 2 if LINUX_CLI_LEVEL = 3
433 range 0 3 if LINUX_CLI_LEVEL = 4
434 range 0 4 if LINUX_CLI_LEVEL = 5
435 range 0 5 if LINUX_CLI_LEVEL = 6
438 comment "The following must be set to a higher priority than local_irq_disable()"
440 config MN10300_SERIAL_IRQ_LEVEL
441 int "MN10300 on-chip serial interrupt priority"
442 depends on MN10300_TTYSM
443 range 1 1 if LINUX_CLI_LEVEL = 2
444 range 1 2 if LINUX_CLI_LEVEL = 3
445 range 1 3 if LINUX_CLI_LEVEL = 4
446 range 1 4 if LINUX_CLI_LEVEL = 5
447 range 1 5 if LINUX_CLI_LEVEL = 6
451 comment "____Maskable interrupt levels____"
453 config LINUX_CLI_LEVEL
454 int "The highest interrupt priority excluded by local_irq_disable() (2-6)"
458 local_irq_disable() doesn't actually disable maskable interrupts -
459 what it does is restrict the levels of interrupt which are permitted
460 (a lower level indicates a higher priority) by lowering the value in
461 EPSW.IM from 7. Any interrupt is permitted for which the level is
464 Certain interrupts, such as GDBSTUB and virtual MN10300 on-chip
465 serial DMA interrupts are allowed to interrupt normal disabled
468 comment "The following must be set to a equal to or lower priority than LINUX_CLI_LEVEL"
470 config TIMER_IRQ_LEVEL
471 int "Kernel timer interrupt priority"
472 range LINUX_CLI_LEVEL 6
476 int "PCI interrupt priority"
478 range LINUX_CLI_LEVEL 6
481 config ETHERNET_IRQ_LEVEL
482 int "Ethernet interrupt priority"
483 depends on SMC91X || SMC911X || SMSC911X
484 range LINUX_CLI_LEVEL 6
487 config EXT_SERIAL_IRQ_LEVEL
488 int "External serial port interrupt priority"
489 depends on SERIAL_8250
490 range LINUX_CLI_LEVEL 6
497 menu "Power management options"
498 source kernel/power/Kconfig
504 menu "Executable formats"
506 source "fs/Kconfig.binfmt"
512 source "drivers/Kconfig"
516 source "arch/mn10300/Kconfig.debug"
518 source "security/Kconfig"
520 source "crypto/Kconfig"