| config MN10300 |
| def_bool y |
| select HAVE_OPROFILE |
| select HAVE_GENERIC_HARDIRQS |
| select GENERIC_IRQ_SHOW |
| select ARCH_WANT_IPC_PARSE_VERSION |
| select HAVE_ARCH_TRACEHOOK |
| select HAVE_ARCH_KGDB |
| select HAVE_NMI_WATCHDOG if MN10300_WD_TIMER |
| select GENERIC_CLOCKEVENTS |
| |
| 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_CALIBRATE_DELAY |
| def_bool y |
| |
| config GENERIC_HWEIGHT |
| def_bool y |
| |
| config GENERIC_BUG |
| def_bool y |
| |
| config QUICKLIST |
| def_bool y |
| |
| config ARCH_HAS_ILOG2_U32 |
| 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 |
| select USE_GENERIC_SMP_HELPERS |
| 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/x86/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" |
| |
| 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" |
| |
| 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 |
| select GENERIC_PCI_IOMAP |
| 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 DEBUGGER_IRQ_LEVEL |
| int "DEBUGGER interrupt priority" |
| depends on KERNEL_DEBUGGER |
| 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 DEBUGGER 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" |