mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 16:54:20 +08:00
278d91c460
Make the FPU operate in non-lazy mode under SMP so that when the process that is currently using the FPU migrates to a different CPU, we don't have to ping its previous CPU to flush the FPU context. Signed-off-by: Akira Takeuchi <takeuchi.akr@jp.panasonic.com> Signed-off-by: Kiyoshi Owada <owada.kiyoshi@jp.panasonic.com> Signed-off-by: David Howells <dhowells@redhat.com>
382 lines
8.0 KiB
Plaintext
382 lines
8.0 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see Documentation/kbuild/kconfig-language.txt.
|
|
#
|
|
|
|
mainmenu "Linux Kernel Configuration"
|
|
|
|
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 y
|
|
|
|
config GENERIC_FIND_NEXT_BIT
|
|
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
|
|
|
|
# Use the generic interrupt handling code in kernel/irq/
|
|
config GENERIC_HARDIRQS
|
|
def_bool y
|
|
|
|
config HOTPLUG_CPU
|
|
def_bool n
|
|
|
|
config HZ
|
|
int
|
|
default 1000
|
|
|
|
mainmenu "Matsushita MN10300/AM33 Kernel Configuration"
|
|
|
|
source "init/Kconfig"
|
|
|
|
source "kernel/Kconfig.freezer"
|
|
|
|
|
|
menu "Matsushita 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"
|
|
|
|
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
|
|
|
|
endchoice
|
|
|
|
choice
|
|
prompt "Processor core support"
|
|
default MN10300_CPU_AM33V2
|
|
help
|
|
This option specifies the processor core for which the kernel will be
|
|
compiled. It affects the instruction set used.
|
|
|
|
config MN10300_CPU_AM33V2
|
|
bool "AM33v2"
|
|
|
|
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
|
|
|
|
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 "0x90700000"
|
|
|
|
endmenu
|
|
|
|
config PREEMPT
|
|
bool "Preemptible Kernel"
|
|
help
|
|
This option reduces the latency of the kernel when reacting to
|
|
real-time or interactive events by allowing a low priority process to
|
|
be preempted even if it is in kernel mode executing a system call.
|
|
This allows applications to run more reliably even when the system is
|
|
under load.
|
|
|
|
Say Y here if you are building a kernel for a desktop, embedded
|
|
or real-time system. Say N if you are unsure.
|
|
|
|
config MN10300_CURRENT_IN_E2
|
|
bool "Hold current task address in E2 register"
|
|
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.
|
|
|
|
config MN10300_RTC
|
|
bool "Using MN10300 RTC"
|
|
depends on MN10300_PROC_MN103E010
|
|
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_TTYSM0_TIMER9
|
|
depends on MN10300_TTYSM1
|
|
|
|
config MN10300_TTYSM1_TIMER9
|
|
bool "Use timer 9 (16-bit)"
|
|
|
|
config MN10300_TTYSM1_TIMER3
|
|
bool "Use timer 3 (8-bit)"
|
|
|
|
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_TTYSM0_TIMER10
|
|
depends on MN10300_TTYSM2
|
|
|
|
config MN10300_TTYSM2_TIMER10
|
|
bool "Use timer 10 (16-bit)"
|
|
|
|
endchoice
|
|
|
|
config MN10300_TTYSM2_CTS
|
|
bool "Enable the use of the CTS line /dev/ttySM2"
|
|
depends on MN10300_TTYSM2
|
|
|
|
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"
|