mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
0aa817f078
Currently we have a maze of configuration variables that determine the maximum slab size. Worst of all it seems to vary between SLAB and SLUB. So define a common maximum size for kmalloc. For conveniences sake we use the maximum size ever supported which is 32 MB. We limit the maximum size to a lower limit if MAX_ORDER does not allow such large allocations. For many architectures this patch will have the effect of adding large kmalloc sizes. x86_64 adds 5 new kmalloc sizes. So a small amount of memory will be needed for these caches (contemporary SLAB has dynamically sizeable node and cpu structure so the waste is less than in the past) Most architectures will then be able to allocate object with sizes up to MAX_ORDER. We have had repeated breakage (in fact whenever we doubled the number of supported processors) on IA64 because one or the other struct grew beyond what the slab allocators supported. This will avoid future issues and f.e. avoid fixes for 2k and 4k cpu support. CONFIG_LARGE_ALLOCS is no longer necessary so drop it. It fixes sparc64 with SLAB. Signed-off-by: Christoph Lameter <clameter@sgi.com> Signed-off-by: "David S. Miller" <davem@davemloft.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
342 lines
6.8 KiB
Text
342 lines
6.8 KiB
Text
#############################################################################
|
|
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see Documentation/kbuild/kconfig-language.txt.
|
|
#
|
|
#############################################################################
|
|
|
|
mainmenu "uClinux/v850 (w/o MMU) Kernel Configuration"
|
|
|
|
config MMU
|
|
bool
|
|
default n
|
|
config ZONE_DMA
|
|
bool
|
|
default y
|
|
config RWSEM_GENERIC_SPINLOCK
|
|
bool
|
|
default y
|
|
config RWSEM_XCHGADD_ALGORITHM
|
|
bool
|
|
default n
|
|
config GENERIC_FIND_NEXT_BIT
|
|
bool
|
|
default y
|
|
config GENERIC_HWEIGHT
|
|
bool
|
|
default y
|
|
config GENERIC_CALIBRATE_DELAY
|
|
bool
|
|
default y
|
|
|
|
config GENERIC_HARDIRQS
|
|
bool
|
|
default y
|
|
|
|
config GENERIC_IRQ_PROBE
|
|
bool
|
|
default y
|
|
|
|
config GENERIC_TIME
|
|
bool
|
|
default y
|
|
|
|
config TIME_LOW_RES
|
|
bool
|
|
default y
|
|
|
|
config ARCH_HAS_ILOG2_U32
|
|
bool
|
|
default n
|
|
|
|
config ARCH_HAS_ILOG2_U64
|
|
bool
|
|
default n
|
|
|
|
# Turn off some random 386 crap that can affect device config
|
|
config ISA
|
|
bool
|
|
default n
|
|
config ISAPNP
|
|
bool
|
|
default n
|
|
config EISA
|
|
bool
|
|
default n
|
|
config MCA
|
|
bool
|
|
default n
|
|
|
|
|
|
#############################################################################
|
|
#### v850-specific config
|
|
|
|
# Define the architecture
|
|
config V850
|
|
bool
|
|
default y
|
|
|
|
menu "Processor type and features"
|
|
|
|
choice
|
|
prompt "Platform"
|
|
default GDB
|
|
config V850E_SIM
|
|
bool "GDB"
|
|
config RTE_CB_MA1
|
|
bool "RTE-V850E/MA1-CB"
|
|
config RTE_CB_NB85E
|
|
bool "RTE-V850E/NB85E-CB"
|
|
config RTE_CB_ME2
|
|
bool "RTE-V850E/ME2-CB"
|
|
config V850E_AS85EP1
|
|
bool "AS85EP1"
|
|
config V850E2_SIM85E2C
|
|
bool "sim85e2c"
|
|
config V850E2_SIM85E2S
|
|
bool "sim85e2s"
|
|
config V850E2_FPGA85E2C
|
|
bool "NA85E2C-FPGA"
|
|
config V850E2_ANNA
|
|
bool "Anna"
|
|
endchoice
|
|
|
|
#### V850E processor-specific config
|
|
|
|
# All CPUs currently supported use the v850e architecture
|
|
config V850E
|
|
bool
|
|
default y
|
|
|
|
# The RTE-V850E/MA1-CB is the only type of V850E/MA1 platform we
|
|
# currently support
|
|
config V850E_MA1
|
|
bool
|
|
depends on RTE_CB_MA1
|
|
default y
|
|
# Similarly for the RTE-V850E/NB85E-CB - V850E/TEG
|
|
config V850E_TEG
|
|
bool
|
|
depends on RTE_CB_NB85E
|
|
default y
|
|
# ... and the RTE-V850E/ME2-CB - V850E/ME2
|
|
config V850E_ME2
|
|
bool
|
|
depends on RTE_CB_ME2
|
|
default y
|
|
|
|
|
|
#### sim85e2-specific config
|
|
|
|
config V850E2_SIM85E2
|
|
bool
|
|
depends on V850E2_SIM85E2C || V850E2_SIM85E2S
|
|
default y
|
|
|
|
|
|
#### V850E2 processor-specific config
|
|
|
|
# V850E2 processors
|
|
config V850E2
|
|
bool
|
|
depends on V850E2_SIM85E2 || V850E2_FPGA85E2C || V850E2_ANNA
|
|
default y
|
|
|
|
|
|
#### RTE-CB platform-specific config
|
|
|
|
# Boards in the RTE-x-CB series
|
|
config RTE_CB
|
|
bool
|
|
depends on RTE_CB_MA1 || RTE_CB_NB85E || RTE_CB_ME2
|
|
default y
|
|
|
|
config RTE_CB_MULTI
|
|
bool
|
|
# RTE_CB_NB85E can either have multi ROM support or not, but
|
|
# other platforms (currently only RTE_CB_MA1) require it.
|
|
prompt "Multi monitor ROM support" if RTE_CB_NB85E
|
|
depends on RTE_CB_MA1 || RTE_CB_NB85E
|
|
default y
|
|
|
|
config RTE_CB_MULTI_DBTRAP
|
|
bool "Pass illegal insn trap / dbtrap to kernel"
|
|
depends on RTE_CB_MULTI
|
|
default n
|
|
|
|
config RTE_CB_MA1_KSRAM
|
|
bool "Kernel in SRAM (limits size of kernel)"
|
|
depends on RTE_CB_MA1 && RTE_CB_MULTI
|
|
default n
|
|
|
|
config RTE_MB_A_PCI
|
|
bool "Mother-A PCI support"
|
|
depends on RTE_CB
|
|
default y
|
|
|
|
# The GBUS is used to talk to the RTE-MOTHER-A board
|
|
config RTE_GBUS_INT
|
|
bool
|
|
depends on RTE_MB_A_PCI
|
|
default y
|
|
|
|
# The only PCI bus we support is on the RTE-MOTHER-A board
|
|
config PCI
|
|
bool
|
|
default RTE_MB_A_PCI
|
|
|
|
#### Some feature-specific configs
|
|
|
|
# Everything except for the GDB simulator uses the same interrupt controller
|
|
config V850E_INTC
|
|
bool
|
|
default !V850E_SIM
|
|
|
|
# Everything except for the various simulators uses the "Timer D" unit
|
|
config V850E_TIMER_D
|
|
bool
|
|
default !V850E_SIM && !V850E2_SIM85E2
|
|
|
|
# Cache control used on some v850e1 processors
|
|
config V850E_CACHE
|
|
bool
|
|
default V850E_TEG || V850E_ME2
|
|
|
|
# Cache control used on v850e2 processors; I think this should
|
|
# actually apply to more, but currently only the SIM85E2S uses it
|
|
config V850E2_CACHE
|
|
bool
|
|
default V850E2_SIM85E2S
|
|
|
|
config NO_CACHE
|
|
bool
|
|
default !V850E_CACHE && !V850E2_CACHE
|
|
|
|
#### Misc config
|
|
|
|
config ROM_KERNEL
|
|
bool "Kernel in ROM"
|
|
depends on V850E2_ANNA || V850E_AS85EP1 || RTE_CB_ME2
|
|
|
|
# Some platforms pre-zero memory, in which case the kernel doesn't need to
|
|
config ZERO_BSS
|
|
bool
|
|
depends on !V850E2_SIM85E2C
|
|
default y
|
|
|
|
# The crappy-ass zone allocator requires that the start of allocatable
|
|
# memory be aligned to the largest possible allocation.
|
|
config FORCE_MAX_ZONEORDER
|
|
int
|
|
default 8 if V850E2_SIM85E2C || V850E2_FPGA85E2C
|
|
|
|
config V850E_HIGHRES_TIMER
|
|
bool "High resolution timer support"
|
|
depends on V850E_TIMER_D
|
|
config TIME_BOOTUP
|
|
bool "Time bootup"
|
|
depends on V850E_HIGHRES_TIMER
|
|
|
|
config RESET_GUARD
|
|
bool "Reset Guard"
|
|
|
|
source "mm/Kconfig"
|
|
|
|
endmenu
|
|
|
|
|
|
#############################################################################
|
|
|
|
source init/Kconfig
|
|
|
|
#############################################################################
|
|
|
|
menu "Bus options (PCI, PCMCIA, EISA, MCA, ISA)"
|
|
|
|
# config PCI
|
|
# bool "PCI support"
|
|
# help
|
|
# Support for PCI bus.
|
|
|
|
source "drivers/pci/Kconfig"
|
|
|
|
source "drivers/pcmcia/Kconfig"
|
|
|
|
source "drivers/pci/hotplug/Kconfig"
|
|
|
|
endmenu
|
|
|
|
menu "Executable file formats"
|
|
|
|
source "fs/Kconfig.binfmt"
|
|
|
|
endmenu
|
|
|
|
source "net/Kconfig"
|
|
|
|
#############################################################################
|
|
|
|
source "drivers/base/Kconfig"
|
|
|
|
source drivers/mtd/Kconfig
|
|
|
|
source drivers/parport/Kconfig
|
|
|
|
#source drivers/pnp/Kconfig
|
|
|
|
source drivers/block/Kconfig
|
|
|
|
#############################################################################
|
|
|
|
menu "Disk device support"
|
|
|
|
source "drivers/ide/Kconfig"
|
|
|
|
source "drivers/scsi/Kconfig"
|
|
|
|
endmenu
|
|
|
|
#############################################################################
|
|
|
|
|
|
source "drivers/md/Kconfig"
|
|
|
|
source "drivers/message/fusion/Kconfig"
|
|
|
|
source "drivers/ieee1394/Kconfig"
|
|
|
|
source "drivers/message/i2o/Kconfig"
|
|
|
|
source "drivers/net/Kconfig"
|
|
|
|
source "drivers/isdn/Kconfig"
|
|
|
|
#source "drivers/telephony/Kconfig"
|
|
|
|
#
|
|
# input before char - char/joystick depends on it. As does USB.
|
|
#
|
|
source "drivers/input/Kconfig"
|
|
|
|
source "drivers/char/Kconfig"
|
|
|
|
#source drivers/misc/Config.in
|
|
source "drivers/media/Kconfig"
|
|
|
|
source "fs/Kconfig"
|
|
|
|
source "drivers/video/Kconfig"
|
|
|
|
source "sound/Kconfig"
|
|
|
|
source "drivers/usb/Kconfig"
|
|
|
|
source "arch/v850/Kconfig.debug"
|
|
|
|
source "security/Kconfig"
|
|
|
|
source "crypto/Kconfig"
|
|
|
|
source "lib/Kconfig"
|
|
|
|
#############################################################################
|