496 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			496 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| config MN10300
 | |
| 	def_bool y
 | |
| 	select HAVE_OPROFILE
 | |
| 	select GENERIC_IRQ_SHOW
 | |
| 	select ARCH_WANT_IPC_PARSE_VERSION
 | |
| 	select HAVE_ARCH_TRACEHOOK
 | |
| 	select HAVE_ARCH_KGDB
 | |
| 	select GENERIC_ATOMIC64
 | |
| 	select HAVE_NMI_WATCHDOG if MN10300_WD_TIMER
 | |
| 	select VIRT_TO_BUS
 | |
| 	select GENERIC_CLOCKEVENTS
 | |
| 	select MODULES_USE_ELF_RELA
 | |
| 	select OLD_SIGSUSPEND3
 | |
| 	select OLD_SIGACTION
 | |
| 	select HAVE_DEBUG_STACKOVERFLOW
 | |
| 
 | |
| 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
 | |
| 	depends on MN10300_PROC_MN2WS0050
 | |
| 	---help---
 | |
| 	  This enables support for systems with more than one CPU. If you have
 | |
| 	  a system with only one CPU, say N. If you have a system with more
 | |
| 	  than one CPU, say Y.
 | |
| 
 | |
| 	  If you say N here, the kernel will run on uni- 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,
 | |
| 	  uniprocessor machines. On a uniprocessor 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"
 | 
