c132937556
Impact: cleaner and consistent bootmem wrapping By setting CONFIG_HAVE_ARCH_BOOTMEM_NODE, archs can define arch-specific wrappers for bootmem allocation. However, this is done a bit strangely in that only the high level convenience macros can be changed while lower level, but still exported, interface functions can't be wrapped. This not only is messy but also leads to strange situation where alloc_bootmem() does what the arch wants it to do but the equivalent __alloc_bootmem() call doesn't although they should be able to be used interchangeably. This patch updates bootmem such that archs can override / wrap the backend function - alloc_bootmem_core() instead of the highlevel interface functions to allow simpler and consistent wrapping. Also, HAVE_ARCH_BOOTMEM_NODE is renamed to HAVE_ARCH_BOOTMEM. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Johannes Weiner <hannes@saeurebad.de>
289 lines
5.5 KiB
Text
289 lines
5.5 KiB
Text
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see Documentation/kbuild/kconfig-language.txt.
|
|
#
|
|
|
|
mainmenu "Linux Kernel Configuration"
|
|
|
|
config AVR32
|
|
def_bool y
|
|
# With EMBEDDED=n, we get lots of stuff automatically selected
|
|
# that we usually don't need on AVR32.
|
|
select EMBEDDED
|
|
select HAVE_CLK
|
|
select HAVE_OPROFILE
|
|
select HAVE_KPROBES
|
|
help
|
|
AVR32 is a high-performance 32-bit RISC microprocessor core,
|
|
designed for cost-sensitive embedded applications, with particular
|
|
emphasis on low power consumption and high code density.
|
|
|
|
There is an AVR32 Linux project with a web page at
|
|
http://avr32linux.org/.
|
|
|
|
config GENERIC_GPIO
|
|
def_bool y
|
|
|
|
config GENERIC_HARDIRQS
|
|
def_bool y
|
|
|
|
config STACKTRACE_SUPPORT
|
|
def_bool y
|
|
|
|
config LOCKDEP_SUPPORT
|
|
def_bool y
|
|
|
|
config TRACE_IRQFLAGS_SUPPORT
|
|
def_bool y
|
|
|
|
config HARDIRQS_SW_RESEND
|
|
def_bool y
|
|
|
|
config GENERIC_IRQ_PROBE
|
|
def_bool y
|
|
|
|
config RWSEM_GENERIC_SPINLOCK
|
|
def_bool y
|
|
|
|
config GENERIC_TIME
|
|
def_bool y
|
|
|
|
config GENERIC_CLOCKEVENTS
|
|
def_bool y
|
|
|
|
config RWSEM_XCHGADD_ALGORITHM
|
|
def_bool n
|
|
|
|
config ARCH_HAS_ILOG2_U32
|
|
def_bool n
|
|
|
|
config ARCH_HAS_ILOG2_U64
|
|
def_bool n
|
|
|
|
config GENERIC_HWEIGHT
|
|
def_bool y
|
|
|
|
config GENERIC_CALIBRATE_DELAY
|
|
def_bool y
|
|
|
|
config GENERIC_BUG
|
|
def_bool y
|
|
depends on BUG
|
|
|
|
source "init/Kconfig"
|
|
|
|
source "kernel/Kconfig.freezer"
|
|
|
|
menu "System Type and features"
|
|
|
|
source "kernel/time/Kconfig"
|
|
|
|
config SUBARCH_AVR32B
|
|
bool
|
|
config MMU
|
|
bool
|
|
config PERFORMANCE_COUNTERS
|
|
bool
|
|
|
|
config PLATFORM_AT32AP
|
|
bool
|
|
select SUBARCH_AVR32B
|
|
select MMU
|
|
select PERFORMANCE_COUNTERS
|
|
select ARCH_REQUIRE_GPIOLIB
|
|
select GENERIC_ALLOCATOR
|
|
|
|
#
|
|
# CPU types
|
|
#
|
|
|
|
# AP7000 derivatives
|
|
config CPU_AT32AP700X
|
|
bool
|
|
select PLATFORM_AT32AP
|
|
config CPU_AT32AP7000
|
|
bool
|
|
select CPU_AT32AP700X
|
|
config CPU_AT32AP7001
|
|
bool
|
|
select CPU_AT32AP700X
|
|
config CPU_AT32AP7002
|
|
bool
|
|
select CPU_AT32AP700X
|
|
|
|
choice
|
|
prompt "AVR32 board type"
|
|
default BOARD_ATSTK1000
|
|
|
|
config BOARD_ATSTK1000
|
|
bool "ATSTK1000 evaluation board"
|
|
|
|
config BOARD_ATNGW100
|
|
bool "ATNGW100 Network Gateway"
|
|
select CPU_AT32AP7000
|
|
|
|
config BOARD_HAMMERHEAD
|
|
bool "Hammerhead board"
|
|
select CPU_AT32AP7000
|
|
select USB_ARCH_HAS_HCD
|
|
help
|
|
The Hammerhead platform is built around a AVR32 32-bit microcontroller from Atmel.
|
|
It offers versatile peripherals, such as ethernet, usb device, usb host etc.
|
|
|
|
The board also incooperates a power supply and is a Power over Ethernet (PoE) Powered
|
|
Device (PD).
|
|
|
|
Additonally, a Cyclone III FPGA from Altera is integrated on the board. The FPGA is
|
|
mapped into the 32-bit AVR memory bus. The FPGA offers two DDR2 SDRAM interfaces, which
|
|
will cover even the most exceptional need of memory bandwidth. Together with the onboard
|
|
video decoder the board is ready for video processing.
|
|
|
|
For more information see: http://www.miromico.com/hammerhead
|
|
|
|
config BOARD_FAVR_32
|
|
bool "Favr-32 LCD-board"
|
|
select CPU_AT32AP7000
|
|
|
|
config BOARD_MIMC200
|
|
bool "MIMC200 CPU board"
|
|
select CPU_AT32AP7000
|
|
endchoice
|
|
|
|
source "arch/avr32/boards/atstk1000/Kconfig"
|
|
source "arch/avr32/boards/atngw100/Kconfig"
|
|
source "arch/avr32/boards/hammerhead/Kconfig"
|
|
source "arch/avr32/boards/favr-32/Kconfig"
|
|
|
|
choice
|
|
prompt "Boot loader type"
|
|
default LOADER_U_BOOT
|
|
|
|
config LOADER_U_BOOT
|
|
bool "U-Boot (or similar) bootloader"
|
|
endchoice
|
|
|
|
source "arch/avr32/mach-at32ap/Kconfig"
|
|
|
|
config LOAD_ADDRESS
|
|
hex
|
|
default 0x10000000 if LOADER_U_BOOT=y && CPU_AT32AP700X=y
|
|
|
|
config ENTRY_ADDRESS
|
|
hex
|
|
default 0x90000000 if LOADER_U_BOOT=y && CPU_AT32AP700X=y
|
|
|
|
config PHYS_OFFSET
|
|
hex
|
|
default 0x10000000 if CPU_AT32AP700X=y
|
|
|
|
source "kernel/Kconfig.preempt"
|
|
|
|
config QUICKLIST
|
|
def_bool y
|
|
|
|
config HAVE_ARCH_BOOTMEM
|
|
def_bool n
|
|
|
|
config ARCH_HAVE_MEMORY_PRESENT
|
|
def_bool n
|
|
|
|
config NEED_NODE_MEMMAP_SIZE
|
|
def_bool n
|
|
|
|
config ARCH_FLATMEM_ENABLE
|
|
def_bool y
|
|
|
|
config ARCH_DISCONTIGMEM_ENABLE
|
|
def_bool n
|
|
|
|
config ARCH_SPARSEMEM_ENABLE
|
|
def_bool n
|
|
|
|
source "mm/Kconfig"
|
|
|
|
config OWNERSHIP_TRACE
|
|
bool "Ownership trace support"
|
|
default y
|
|
help
|
|
Say Y to generate an Ownership Trace message on every context switch,
|
|
enabling Nexus-compliant debuggers to keep track of the PID of the
|
|
currently executing task.
|
|
|
|
config NMI_DEBUGGING
|
|
bool "NMI Debugging"
|
|
default n
|
|
help
|
|
Say Y here and pass the nmi_debug command-line parameter to
|
|
the kernel to turn on NMI debugging. Depending on the value
|
|
of the nmi_debug option, various pieces of information will
|
|
be dumped to the console when a Non-Maskable Interrupt
|
|
happens.
|
|
|
|
# FPU emulation goes here
|
|
|
|
source "kernel/Kconfig.hz"
|
|
|
|
config CMDLINE
|
|
string "Default kernel command line"
|
|
default ""
|
|
help
|
|
If you don't have a boot loader capable of passing a command line string
|
|
to the kernel, you may specify one here. As a minimum, you should specify
|
|
the memory size and the root device (e.g., mem=8M, root=/dev/nfs).
|
|
|
|
endmenu
|
|
|
|
menu "Power management options"
|
|
|
|
source "kernel/power/Kconfig"
|
|
|
|
config ARCH_SUSPEND_POSSIBLE
|
|
def_bool y
|
|
|
|
menu "CPU Frequency scaling"
|
|
|
|
source "drivers/cpufreq/Kconfig"
|
|
|
|
config CPU_FREQ_AT32AP
|
|
bool "CPU frequency driver for AT32AP"
|
|
depends on CPU_FREQ && PLATFORM_AT32AP
|
|
default n
|
|
help
|
|
This enables the CPU frequency driver for AT32AP processors.
|
|
|
|
For details, take a look in <file:Documentation/cpu-freq>.
|
|
|
|
If in doubt, say N.
|
|
|
|
endmenu
|
|
|
|
endmenu
|
|
|
|
menu "Bus options"
|
|
|
|
config PCI
|
|
bool
|
|
|
|
source "drivers/pci/Kconfig"
|
|
|
|
source "drivers/pcmcia/Kconfig"
|
|
|
|
endmenu
|
|
|
|
menu "Executable file formats"
|
|
source "fs/Kconfig.binfmt"
|
|
endmenu
|
|
|
|
source "net/Kconfig"
|
|
|
|
source "drivers/Kconfig"
|
|
|
|
source "fs/Kconfig"
|
|
|
|
source "arch/avr32/Kconfig.debug"
|
|
|
|
source "security/Kconfig"
|
|
|
|
source "crypto/Kconfig"
|
|
|
|
source "lib/Kconfig"
|