mirror of https://gitee.com/openkylin/linux.git
259 lines
7.3 KiB
Plaintext
259 lines
7.3 KiB
Plaintext
# For a description of the syntax of this configuration file,
|
|
# see Documentation/kbuild/config-language.txt.
|
|
|
|
mainmenu "Linux/Xtensa Kernel Configuration"
|
|
|
|
config FRAME_POINTER
|
|
bool
|
|
default n
|
|
|
|
config XTENSA
|
|
bool
|
|
default y
|
|
help
|
|
Xtensa processors are 32-bit RISC machines designed by Tensilica
|
|
primarily for embedded systems. These processors are both
|
|
configurable and extensible. The Linux port to the Xtensa
|
|
architecture supports all processor configurations and extensions,
|
|
with reasonable minimum requirements. The Xtensa Linux project has
|
|
a home page at <http://xtensa.sourceforge.net/>.
|
|
|
|
config RWSEM_XCHGADD_ALGORITHM
|
|
bool
|
|
default y
|
|
|
|
config GENERIC_HARDIRQS
|
|
bool
|
|
default y
|
|
|
|
config RWSEM_GENERIC_SPINLOCK
|
|
bool
|
|
default y
|
|
|
|
source "init/Kconfig"
|
|
|
|
menu "Processor type and features"
|
|
|
|
choice
|
|
prompt "Xtensa Processor Configuration"
|
|
default XTENSA_CPU_LINUX_BE
|
|
|
|
config XTENSA_CPU_LINUX_BE
|
|
bool "linux_be"
|
|
---help---
|
|
The linux_be processor configuration is the baseline Xtensa
|
|
configurations included in this kernel and also used by
|
|
binutils, gcc, and gdb. It contains no TIE, no coprocessors,
|
|
and the following configuration options:
|
|
|
|
Code Density Option 2 Misc Special Registers
|
|
NSA/NSAU Instructions 128-bit Data Bus Width
|
|
Processor ID 8K, 2-way I and D Caches
|
|
Zero-Overhead Loops 2 Inst Address Break Registers
|
|
Big Endian 2 Data Address Break Registers
|
|
64 General-Purpose Registers JTAG Interface and Trace Port
|
|
17 Interrupts MMU w/ TLBs and Autorefill
|
|
3 Interrupt Levels 8 Autorefill Ways (I/D TLBs)
|
|
3 Timers Unaligned Exceptions
|
|
endchoice
|
|
|
|
config MMU
|
|
bool
|
|
default y
|
|
|
|
config XTENSA_UNALIGNED_USER
|
|
bool "Unaligned memory access in use space"
|
|
---help---
|
|
The Xtensa architecture currently does not handle unaligned
|
|
memory accesses in hardware but through an exception handler.
|
|
Per default, unaligned memory accesses are disabled in user space.
|
|
|
|
Say Y here to enable unaligned memory access in user space.
|
|
|
|
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.
|
|
Unfortunately the kernel code has some race conditions if both
|
|
CONFIG_SMP and CONFIG_PREEMPT are enabled, so this option is
|
|
currently disabled if you are building an SMP kernel.
|
|
|
|
Say Y here if you are building a kernel for a desktop, embedded
|
|
or real-time system. Say N if you are unsure.
|
|
|
|
config MATH_EMULATION
|
|
bool "Math emulation"
|
|
help
|
|
Can we use information of configuration file?
|
|
|
|
config HIGHMEM
|
|
bool "High memory support"
|
|
|
|
endmenu
|
|
|
|
menu "Platform options"
|
|
|
|
choice
|
|
prompt "Xtensa System Type"
|
|
default XTENSA_PLATFORM_ISS
|
|
|
|
config XTENSA_PLATFORM_ISS
|
|
bool "ISS"
|
|
help
|
|
ISS is an acronym for Tensilica's Instruction Set Simulator.
|
|
|
|
config XTENSA_PLATFORM_XT2000
|
|
bool "XT2000"
|
|
help
|
|
XT2000 is the name of Tensilica's feature-rich emulation platform.
|
|
This hardware is capable of running a full Linux distribution.
|
|
|
|
endchoice
|
|
|
|
|
|
config XTENSA_CALIBRATE_CCOUNT
|
|
bool "Auto calibration of the CPU clock rate"
|
|
---help---
|
|
On some platforms (XT2000, for example), the CPU clock rate can
|
|
vary. The frequency can be determined, however, by measuring
|
|
against a well known, fixed frequency, such as an UART oscillator.
|
|
|
|
config XTENSA_CPU_CLOCK
|
|
int "CPU clock rate [MHz]"
|
|
depends on !XTENSA_CALIBRATE_CCOUNT
|
|
default "16"
|
|
|
|
config GENERIC_CALIBRATE_DELAY
|
|
bool "Auto calibration of the BogoMIPS value"
|
|
---help---
|
|
The BogoMIPS value can easily be derived from the CPU frequency.
|
|
|
|
config CMDLINE_BOOL
|
|
bool "Default bootloader kernel arguments"
|
|
|
|
config CMDLINE
|
|
string "Initial kernel command string"
|
|
depends on CMDLINE_BOOL
|
|
default "console=ttyS0,38400 root=/dev/ram"
|
|
help
|
|
On some architectures (EBSA110 and CATS), there is currently no way
|
|
for the boot loader to pass arguments to the kernel. For these
|
|
architectures, you should supply some command-line options at build
|
|
time by entering them here. As a minimum, you should specify the
|
|
memory size and the root device (e.g., mem=64M root=/dev/nfs).
|
|
|
|
config SERIAL_CONSOLE
|
|
bool
|
|
depends on XTENSA_PLATFORM_ISS
|
|
default y
|
|
|
|
config XTENSA_ISS_NETWORK
|
|
bool
|
|
depends on XTENSA_PLATFORM_ISS
|
|
default y
|
|
|
|
source "mm/Kconfig"
|
|
|
|
endmenu
|
|
|
|
menu "Bus options"
|
|
|
|
config PCI
|
|
bool "PCI support" if !XTENSA_PLATFORM_ISS
|
|
depends on !XTENSA_PLATFORM_ISS
|
|
default y
|
|
help
|
|
Find out whether you have a PCI motherboard. PCI is the name of a
|
|
bus system, i.e. the way the CPU talks to the other stuff inside
|
|
your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
|
|
VESA. If you have PCI, say Y, otherwise N.
|
|
|
|
The PCI-HOWTO, available from
|
|
<http://www.linuxdoc.org/docs.html#howto>, contains valuable
|
|
information about which PCI hardware does work under Linux and which
|
|
doesn't
|
|
|
|
source "drivers/pci/Kconfig"
|
|
|
|
config HOTPLUG
|
|
|
|
bool "Support for hot-pluggable devices"
|
|
---help---
|
|
Say Y here if you want to plug devices into your computer while
|
|
the system is running, and be able to use them quickly. In many
|
|
cases, the devices can likewise be unplugged at any time too.
|
|
|
|
One well known example of this is PCMCIA- or PC-cards, credit-card
|
|
size devices such as network cards, modems or hard drives which are
|
|
plugged into slots found on all modern laptop computers. Another
|
|
example, used on modern desktops as well as laptops, is USB.
|
|
|
|
Enable HOTPLUG and KMOD, and build a modular kernel. Get agent
|
|
software (at <http://linux-hotplug.sourceforge.net/>) and install it.
|
|
Then your kernel will automatically call out to a user mode "policy
|
|
agent" (/sbin/hotplug) to load modules and set up software needed
|
|
to use devices as you hotplug them.
|
|
|
|
source "drivers/pcmcia/Kconfig"
|
|
|
|
source "drivers/pci/hotplug/Kconfig"
|
|
|
|
endmenu
|
|
|
|
menu "Exectuable file formats"
|
|
|
|
# only elf supported
|
|
config KCORE_ELF
|
|
bool
|
|
depends on PROC_FS
|
|
default y
|
|
help
|
|
If you enabled support for /proc file system then the file
|
|
/proc/kcore will contain the kernel core image in ELF format. This
|
|
can be used in gdb:
|
|
|
|
$ cd /usr/src/linux ; gdb vmlinux /proc/kcore
|
|
|
|
This is especially useful if you have compiled the kernel with the
|
|
"-g" option to preserve debugging information. It is mainly used
|
|
for examining kernel data structures on the live kernel.
|
|
|
|
source "fs/Kconfig.binfmt"
|
|
|
|
endmenu
|
|
|
|
source "net/Kconfig"
|
|
|
|
source "drivers/Kconfig"
|
|
|
|
source "fs/Kconfig"
|
|
|
|
menu "Xtensa initrd options"
|
|
depends on BLK_DEV_INITRD
|
|
|
|
config EMBEDDED_RAMDISK
|
|
bool "Embed root filesystem ramdisk into the kernel"
|
|
|
|
config EMBEDDED_RAMDISK_IMAGE
|
|
string "Filename of gziped ramdisk image"
|
|
depends on EMBEDDED_RAMDISK
|
|
default "ramdisk.gz"
|
|
help
|
|
This is the filename of the ramdisk image to be built into the
|
|
kernel. Relative pathnames are relative to arch/xtensa/boot/ramdisk/.
|
|
The ramdisk image is not part of the kernel distribution; you must
|
|
provide one yourself.
|
|
endmenu
|
|
|
|
source "arch/xtensa/Kconfig.debug"
|
|
|
|
source "security/Kconfig"
|
|
|
|
source "crypto/Kconfig"
|
|
|
|
source "lib/Kconfig"
|
|
|
|
|