How to configure the Linux kernel/arch/xtensa

Howto configure the Linux kernel / arch / xtensa


 * For a description of the syntax of this configuration file,
 * see Documentation/kbuild/config-language.txt.

"Linux/Xtensa Kernel Configuration"


 * Option: FRAME_POINTER
 * Kernel Versions: 2.6.15.6 ...
 * (on/off)
 * default n


 * Option: XTENSA
 * Kernel Versions: 2.6.15.6 ...
 * (on/off)
 * default y
 * 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 .


 * Option: UID16
 * Kernel Versions: 2.6.15.6 ...
 * (on/off)
 * default n


 * Option: RWSEM_XCHGADD_ALGORITHM
 * Kernel Versions: 2.6.15.6 ...
 * (on/off)
 * default y


 * Option: GENERIC_HARDIRQS
 * Kernel Versions: 2.6.15.6 ...
 * (on/off)
 * default y


 * Option: Howto configure the Linux kernel/init

Processor type and features
"Xtensa Processor Configuration"
 * default XTENSA_CPU_LINUX_BE


 * Option: XTENSA_CPU_LINUX_BE
 * Kernel Versions: 2.6.15.6 ...
 * (on/off) linux_be
 * 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


 * Option: MMU
 * Kernel Versions: 2.6.15.6 ...
 * (on/off)
 * default y


 * Option: XTENSA_UNALIGNED_USER
 * Kernel Versions: 2.6.15.6 ...
 * (on/off) Unaligned memory access in use space
 * 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.


 * Option: PREEMPT
 * Kernel Versions: 2.6.15.6 ...
 * (on/off) Preemptible Kernel
 * 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.

we use information of configuration file?
 * Option: MATH_EMULATION
 * Kernel Versions: 2.6.15.6 ...
 * (on/off) Math emulation


 * Option: HIGHMEM
 * Kernel Versions: 2.6.15.6 ...
 * (on/off) High memory support

Platform options
"Xtensa System Type"
 * default XTENSA_PLATFORM_ISS


 * Option: XTENSA_PLATFORM_ISS
 * Kernel Versions: 2.6.15.6 ...
 * (on/off) ISS
 * ISS is an acronym for Tensilica's Instruction Set Simulator.


 * Option: XTENSA_PLATFORM_XT2000
 * Kernel Versions: 2.6.15.6 ...
 * (on/off) XT2000
 * XT2000 is the name of Tensilica's feature-rich emulation platform. This hardware is capable of running a full Linux distribution.


 * Option: XTENSA_CALIBRATE_CCOUNT
 * Kernel Versions: 2.6.15.6 ...
 * (on/off) Auto calibration of the CPU clock rate
 * 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.

"CPU clock rate [MHz]"
 * Option: XTENSA_CPU_CLOCK
 * Kernel Versions: 2.6.15.6 ...
 * depends on !XTENSA_CALIBRATE_CCOUNT
 * default "16"


 * Option: GENERIC_CALIBRATE_DELAY
 * Kernel Versions: 2.6.15.6 ...
 * (on/off) Auto calibration of the BogoMIPS value
 * The BogoMIPS value can easily be derived from the CPU frequency.


 * Option: CMDLINE_BOOL
 * Kernel Versions: 2.6.15.6 ...
 * (on/off) Default bootloader kernel arguments

"Initial kernel command string"
 * Option: CMDLINE
 * Kernel Versions: 2.6.15.6 ...
 * depends on CMDLINE_BOOL
 * default "console=ttyS0,38400 root=/dev/ram"
 * 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).


 * Option: SERIAL_CONSOLE
 * Kernel Versions: 2.6.15.6 ...
 * (on/off)
 * depends on XTENSA_PLATFORM_ISS
 * default y


 * Option: XTENSA_ISS_NETWORK
 * Kernel Versions: 2.6.15.6 ...
 * (on/off)
 * depends on XTENSA_PLATFORM_ISS
 * default y


 * Option: Howto configure the Linux kernel/mm

Bus options

 * Option: PCI
 * Kernel Versions: 2.6.15.6 ...
 * (on/off) PCI support if !XTENSA_PLATFORM_ISS
 * depends on !XTENSA_PLATFORM_ISS
 * default y
 * 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 , contains valuable information about which PCI hardware does work under Linux and which doesn't


 * Option: Howto configure the Linux kernel/drivers/pci


 * Option: HOTPLUG
 * Kernel Versions: 2.6.15.6 ...

Y here if you want to plug devices into your computer while system is running, and be able to use them quickly. In many , the devices can likewise be unplugged at any time too.
 * (on/off) Support for hot-pluggable devices

well known example of this is PCMCIA- or PC-cards, credit-card devices such as network cards, modems or hard drives which are into slots found on all modern laptop computers. Another , used on modern desktops as well as laptops, is USB.

HOTPLUG and KMOD, and build a modular kernel. Get agent (at ) and install it. your kernel will automatically call out to a user mode "policy " (/sbin/hotplug) to load modules and set up software needed use devices as you hotplug them.


 * Option: Howto configure the Linux kernel/drivers/pcmcia


 * Option: Howto configure the Linux kernel/drivers/pci/hotplug

Exectuable file formats

 * only elf supported


 * Option: KCORE_ELF
 * Kernel Versions: 2.6.15.6 ...      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.


 * Option: Howto configure the Linux kernel/fs.binfmt"


 * Option: Howto configure the Linux kernel/net


 * Option: Howto configure the Linux kernel/drivers


 * Option: Howto configure the Linux kernel/fs

Xtensa initrd options

 * depends on BLK_DEV_INITRD


 * Option: EMBEDDED_RAMDISK
 * Kernel Versions: 2.6.15.6 ...
 * (on/off) Embed root filesystem ramdisk into the kernel

"Filename of gziped ramdisk image"
 * Option: EMBEDDED_RAMDISK_IMAGE
 * Kernel Versions: 2.6.15.6 ...
 * depends on EMBEDDED_RAMDISK
 * default "ramdisk.gz"
 * 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.


 * Option: Howto configure the Linux kernel/arch/xtensa.debug"


 * Option: Howto configure the Linux kernel/security


 * Option: Howto configure the Linux kernel/crypto


 * Option: Howto configure the Linux kernel/lib

Linux Kernel Configuration