| config MN10300 | |
| def_bool y | |
| select HAVE_OPROFILE | |
| config AM33_2 | |
| def_bool n | |
| config AM33_3 | |
| def_bool n | |
| config AM34_2 | |
| def_bool n | |
| select MN10300_HAS_ATOMIC_OPS_UNIT | |
| select MN10300_HAS_CACHE_SNOOP | |
| config ERRATUM_NEED_TO_RELOAD_MMUCTR | |
| def_bool y if AM33_3 || AM34_2 | |
| config MMU | |
| def_bool y | |
| config HIGHMEM | |
| def_bool n | |
| config NUMA | |
| def_bool n | |
| config UID16 | |
| def_bool y | |
| config RWSEM_GENERIC_SPINLOCK | |
| def_bool y | |
| config RWSEM_XCHGADD_ALGORITHM | |
| bool | |
| config GENERIC_HARDIRQS_NO__DO_IRQ | |
| def_bool y | |
| config GENERIC_CALIBRATE_DELAY | |
| def_bool y | |
| config GENERIC_CMOS_UPDATE | |
| def_bool n | |
| config GENERIC_FIND_NEXT_BIT | |
| def_bool y | |
| config GENERIC_HWEIGHT | |
| def_bool y | |
| config GENERIC_TIME | |
| def_bool y | |
| config GENERIC_CLOCKEVENTS | |
| def_bool y | |
| config GENERIC_CLOCKEVENTS_BUILD | |
| def_bool y | |
| depends on GENERIC_CLOCKEVENTS | |
| config GENERIC_CLOCKEVENTS_BROADCAST | |
| bool | |
| config CEVT_MN10300 | |
| def_bool y | |
| depends on GENERIC_CLOCKEVENTS | |
| config CSRC_MN10300 | |
| def_bool y | |
| depends on GENERIC_TIME | |
| config GENERIC_BUG | |
| def_bool y | |
| config QUICKLIST | |
| def_bool y | |
| config ARCH_HAS_ILOG2_U32 | |
| def_bool y | |
| # Use the generic interrupt handling code in kernel/irq/ | |
| config GENERIC_HARDIRQS | |
| def_bool y | |
| config HOTPLUG_CPU | |
| def_bool n | |
| source "init/Kconfig" | |
| source "kernel/Kconfig.freezer" | |
| menu "Panasonic MN10300 system setup" | |
| choice | |
| prompt "Unit type" | |
| default MN10300_UNIT_ASB2303 | |
| help | |
| This option specifies board for which the kernel will be | |
| compiled. It affects the external peripherals catered for. | |
| config MN10300_UNIT_ASB2303 | |
| bool "ASB2303" | |
| config MN10300_UNIT_ASB2305 | |
| bool "ASB2305" | |
| config MN10300_UNIT_ASB2364 | |
| bool "ASB2364" | |
| select SMSC911X_ARCH_HOOKS if SMSC911X | |
| endchoice | |
| choice | |
| prompt "Processor support" | |
| default MN10300_PROC_MN103E010 | |
| help | |
| This option specifies the processor for which the kernel will be | |
| compiled. It affects the on-chip peripherals catered for. | |
| config MN10300_PROC_MN103E010 | |
| bool "MN103E010" | |
| depends on MN10300_UNIT_ASB2303 || MN10300_UNIT_ASB2305 | |
| select AM33_2 | |
| select MN10300_PROC_HAS_TTYSM0 | |
| select MN10300_PROC_HAS_TTYSM1 | |
| select MN10300_PROC_HAS_TTYSM2 | |
| config MN10300_PROC_MN2WS0050 | |
| bool "MN2WS0050" | |
| depends on MN10300_UNIT_ASB2364 | |
| select AM34_2 | |
| select MN10300_PROC_HAS_TTYSM0 | |
| select MN10300_PROC_HAS_TTYSM1 | |
| select MN10300_PROC_HAS_TTYSM2 | |
| endchoice | |
| config MN10300_HAS_ATOMIC_OPS_UNIT | |
| def_bool n | |
| help | |
| This should be enabled if the processor has an atomic ops unit | |
| capable of doing LL/SC equivalent operations. | |
| config FPU | |
| bool "FPU present" | |
| default y | |
| depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050 | |
| config LAZY_SAVE_FPU | |
| bool "Save FPU state lazily" | |
| default y | |
| depends on FPU && !SMP | |
| help | |
| Enable this to be lazy in the saving of the FPU state to the owning | |
| task's thread struct. This is useful if most tasks on the system | |
| don't use the FPU as only those tasks that use it will pass it | |
| between them, and the state needn't be saved for a task that isn't | |
| using it. | |
| This can't be so easily used on SMP as the process that owns the FPU | |
| state on a CPU may be currently running on another CPU, so for the | |
| moment, it is disabled. | |
| source "arch/mn10300/mm/Kconfig.cache" | |
| config MN10300_TLB_USE_PIDR | |
| def_bool y | |
| menu "Memory layout options" | |
| config KERNEL_RAM_BASE_ADDRESS | |
| hex "Base address of kernel RAM" | |
| default "0x90000000" | |
| config INTERRUPT_VECTOR_BASE | |
| hex "Base address of vector table" | |
| default "0x90000000" | |
| help | |
| The base address of the vector table will be programmed into | |
| the TBR register. It must be on 16MiB address boundary. | |
| config KERNEL_TEXT_ADDRESS | |
| hex "Base address of kernel" | |
| default "0x90001000" | |
| config KERNEL_ZIMAGE_BASE_ADDRESS | |
| hex "Base address of compressed vmlinux image" | |
| default "0x50700000" | |
| config BOOT_STACK_OFFSET | |
| hex | |
| default "0xF00" if SMP | |
| default "0xFF0" if !SMP | |
| config BOOT_STACK_SIZE | |
| hex | |
| depends on SMP | |
| default "0x100" | |
| endmenu | |
| config SMP | |
| bool "Symmetric multi-processing support" | |
| default y | |
| depends on MN10300_PROC_MN2WS0038 || MN10300_PROC_MN2WS0050 | |
| ---help--- | |
| This enables support for systems with more than one CPU. If you have | |
| a system with only one CPU, like most personal computers, say N. If | |
| you have a system with more than one CPU, say Y. | |
| If you say N here, the kernel will run on single and multiprocessor | |
| machines, but will use only one CPU of a multiprocessor machine. If | |
| you say Y here, the kernel will run on many, but not all, | |
| singleprocessor machines. On a singleprocessor machine, the kernel | |
| will run faster if you say N here. | |
| See also <file:Documentation/i386/IO-APIC.txt>, | |
| <file:Documentation/nmi_watchdog.txt> and the SMP-HOWTO available at | |
| <http://www.tldp.org/docs.html#howto>. | |
| If you don't know what to do here, say N. | |
| config NR_CPUS | |
| int | |
| depends on SMP | |
| default "2" | |
| config USE_GENERIC_SMP_HELPERS | |
| bool | |
| depends on SMP | |
| default y | |
| source "kernel/Kconfig.preempt" | |
| config MN10300_CURRENT_IN_E2 | |
| bool "Hold current task address in E2 register" | |
| depends on !SMP | |
| default y | |
| help | |
| This option removes the E2/R2 register from the set available to gcc | |
| for normal use and instead uses it to store the address of the | |
| current process's task_struct whilst in the kernel. | |
| This means the kernel doesn't need to calculate the address each time | |
| "current" is used (take SP, AND with mask and dereference pointer | |
| just to get the address), and instead can just use E2+offset | |
| addressing each time. | |
| This has no effect on userspace. | |
| config MN10300_USING_JTAG | |
| bool "Using JTAG to debug kernel" | |
| default y | |
| help | |
| This options indicates that JTAG will be used to debug the kernel. It | |
| suppresses the use of certain hardware debugging features, such as | |
| single-stepping, which are taken over completely by the JTAG unit. | |
| source "kernel/Kconfig.hz" | |
| source "kernel/time/Kconfig" | |
| config MN10300_RTC | |
| bool "Using MN10300 RTC" | |
| depends on MN10300_PROC_MN103E010 || MN10300_PROC_MN2WS0050 | |
| select GENERIC_CMOS_UPDATE | |
| default n | |
| help | |
| This option enables support for the RTC, thus enabling time to be | |
| tracked, even when system is powered down. This is available on-chip | |
| on the MN103E010. | |
| config MN10300_WD_TIMER | |
| bool "Using MN10300 watchdog timer" | |
| default y | |
| help | |
| This options indicates that the watchdog timer will be used. | |
| config PCI | |
| bool "Use PCI" | |
| depends on MN10300_UNIT_ASB2305 | |
| default y | |
| help | |
| Some systems (such as the ASB2305) have PCI onboard. If you have one | |
| of these boards and you wish to use the PCI facilities, say Y here. | |
| The PCI-HOWTO, available from | |
| <http://www.tldp.org/docs.html#howto>, contains valuable | |
| information about which PCI hardware does work under Linux and which | |
| doesn't. | |
| source "drivers/pci/Kconfig" | |
| source "drivers/pcmcia/Kconfig" | |
| menu "MN10300 internal serial options" | |
| config MN10300_PROC_HAS_TTYSM0 | |
| bool | |
| default n | |
| config MN10300_PROC_HAS_TTYSM1 | |
| bool | |
| default n | |
| config MN10300_PROC_HAS_TTYSM2 | |
| bool | |
| default n | |
| config MN10300_TTYSM | |
| bool "Support for ttySM serial ports" | |
| depends on MN10300 | |
| default y | |
| select SERIAL_CORE | |
| help | |
| This option enables support for the on-chip serial ports that the | |
| MN10300 has available. | |
| config MN10300_TTYSM_CONSOLE | |
| bool "Support for console on ttySM serial ports" | |
| depends on MN10300_TTYSM | |
| select SERIAL_CORE_CONSOLE | |
| help | |
| This option enables support for a console on the on-chip serial ports | |
| that the MN10300 has available. | |
| # | |
| # /dev/ttySM0 | |
| # | |
| config MN10300_TTYSM0 | |
| bool "Enable SIF0 (/dev/ttySM0)" | |
| depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM0 | |
| help | |
| Enable access to SIF0 through /dev/ttySM0 or gdb-stub | |
| choice | |
| prompt "Select the timer to supply the clock for SIF0" | |
| default MN10300_TTYSM0_TIMER8 | |
| depends on MN10300_TTYSM0 | |
| config MN10300_TTYSM0_TIMER8 | |
| bool "Use timer 8 (16-bit)" | |
| config MN10300_TTYSM0_TIMER2 | |
| bool "Use timer 2 (8-bit)" | |
| endchoice | |
| # | |
| # /dev/ttySM1 | |
| # | |
| config MN10300_TTYSM1 | |
| bool "Enable SIF1 (/dev/ttySM1)" | |
| depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM1 | |
| help | |
| Enable access to SIF1 through /dev/ttySM1 or gdb-stub | |
| choice | |
| prompt "Select the timer to supply the clock for SIF1" | |
| default MN10300_TTYSM1_TIMER12 \ | |
| if !(AM33_2 || AM33_3) | |
| default MN10300_TTYSM1_TIMER9 \ | |
| if AM33_2 || AM33_3 | |
| depends on MN10300_TTYSM1 | |
| config MN10300_TTYSM1_TIMER12 | |
| bool "Use timer 12 (16-bit)" | |
| depends on !(AM33_2 || AM33_3) | |
| config MN10300_TTYSM1_TIMER9 | |
| bool "Use timer 9 (16-bit)" | |
| depends on AM33_2 || AM33_3 | |
| config MN10300_TTYSM1_TIMER3 | |
| bool "Use timer 3 (8-bit)" | |
| depends on AM33_2 || AM33_3 | |
| endchoice | |
| # | |
| # /dev/ttySM2 | |
| # | |
| config MN10300_TTYSM2 | |
| bool "Enable SIF2 (/dev/ttySM2)" | |
| depends on MN10300_TTYSM && MN10300_PROC_HAS_TTYSM2 | |
| help | |
| Enable access to SIF2 through /dev/ttySM2 or gdb-stub | |
| choice | |
| prompt "Select the timer to supply the clock for SIF2" | |
| default MN10300_TTYSM2_TIMER3 \ | |
| if !(AM33_2 || AM33_3) | |
| default MN10300_TTYSM2_TIMER10 \ | |
| if AM33_2 || AM33_3 | |
| depends on MN10300_TTYSM2 | |
| config MN10300_TTYSM2_TIMER9 | |
| bool "Use timer 9 (16-bit)" | |
| depends on !(AM33_2 || AM33_3) | |
| config MN10300_TTYSM2_TIMER1 | |
| bool "Use timer 1 (8-bit)" | |
| depends on !(AM33_2 || AM33_3) | |
| config MN10300_TTYSM2_TIMER3 | |
| bool "Use timer 3 (8-bit)" | |
| depends on !(AM33_2 || AM33_3) | |
| config MN10300_TTYSM2_TIMER10 | |
| bool "Use timer 10 (16-bit)" | |
| depends on AM33_2 || AM33_3 | |
| endchoice | |
| config MN10300_TTYSM2_CTS | |
| bool "Enable the use of the CTS line /dev/ttySM2" | |
| depends on MN10300_TTYSM2 && AM33_2 | |
| endmenu | |
| menu "Interrupt request priority options" | |
| comment "[!] NOTE: A lower number/level indicates a higher priority (0 is highest, 6 is lowest)" | |
| comment "____Non-maskable interrupt levels____" | |
| comment "The following must be set to a higher priority than local_irq_disable() and on-chip serial" | |
| config GDBSTUB_IRQ_LEVEL | |
| int "GDBSTUB interrupt priority" | |
| depends on GDBSTUB | |
| range 0 1 if LINUX_CLI_LEVEL = 2 | |
| range 0 2 if LINUX_CLI_LEVEL = 3 | |
| range 0 3 if LINUX_CLI_LEVEL = 4 | |
| range 0 4 if LINUX_CLI_LEVEL = 5 | |
| range 0 5 if LINUX_CLI_LEVEL = 6 | |
| default 0 | |
| comment "The following must be set to a higher priority than local_irq_disable()" | |
| config MN10300_SERIAL_IRQ_LEVEL | |
| int "MN10300 on-chip serial interrupt priority" | |
| depends on MN10300_TTYSM | |
| range 1 1 if LINUX_CLI_LEVEL = 2 | |
| range 1 2 if LINUX_CLI_LEVEL = 3 | |
| range 1 3 if LINUX_CLI_LEVEL = 4 | |
| range 1 4 if LINUX_CLI_LEVEL = 5 | |
| range 1 5 if LINUX_CLI_LEVEL = 6 | |
| default 1 | |
| comment "-" | |
| comment "____Maskable interrupt levels____" | |
| config LINUX_CLI_LEVEL | |
| int "The highest interrupt priority excluded by local_irq_disable() (2-6)" | |
| range 2 6 | |
| default 2 | |
| help | |
| local_irq_disable() doesn't actually disable maskable interrupts - | |
| what it does is restrict the levels of interrupt which are permitted | |
| (a lower level indicates a higher priority) by lowering the value in | |
| EPSW.IM from 7. Any interrupt is permitted for which the level is | |
| lower than EPSW.IM. | |
| Certain interrupts, such as GDBSTUB and virtual MN10300 on-chip | |
| serial DMA interrupts are allowed to interrupt normal disabled | |
| sections. | |
| comment "The following must be set to a equal to or lower priority than LINUX_CLI_LEVEL" | |
| config TIMER_IRQ_LEVEL | |
| int "Kernel timer interrupt priority" | |
| range LINUX_CLI_LEVEL 6 | |
| default 4 | |
| config PCI_IRQ_LEVEL | |
| int "PCI interrupt priority" | |
| depends on PCI | |
| range LINUX_CLI_LEVEL 6 | |
| default 5 | |
| config ETHERNET_IRQ_LEVEL | |
| int "Ethernet interrupt priority" | |
| depends on SMC91X || SMC911X || SMSC911X | |
| range LINUX_CLI_LEVEL 6 | |
| default 6 | |
| config EXT_SERIAL_IRQ_LEVEL | |
| int "External serial port interrupt priority" | |
| depends on SERIAL_8250 | |
| range LINUX_CLI_LEVEL 6 | |
| default 6 | |
| endmenu | |
| source "mm/Kconfig" | |
| menu "Power management options" | |
| source kernel/power/Kconfig | |
| endmenu | |
| endmenu | |
| menu "Executable formats" | |
| source "fs/Kconfig.binfmt" | |
| endmenu | |
| source "net/Kconfig" | |
| source "drivers/Kconfig" | |
| source "fs/Kconfig" | |
| source "arch/mn10300/Kconfig.debug" | |
| source "security/Kconfig" | |
| source "crypto/Kconfig" | |
| source "lib/Kconfig" |