How To Wiki
Register
Advertisement

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 <http://xtensa.sourceforge.net/>.


  • 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


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.


  • Option: MATH_EMULATION
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) Math emulation

we use information of configuration file?


  • 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.


  • Option: XTENSA_CPU_CLOCK
    • Kernel Versions: 2.6.15.6 ...

"CPU clock rate [MHz]"

    • 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


  • Option: CMDLINE
    • Kernel Versions: 2.6.15.6 ...

"Initial kernel command string"

    • 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



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 <http://www.linuxdoc.org/docs.html#howto>, contains valuable information about which PCI hardware does work under Linux and which doesn't



  • Option: HOTPLUG
    • Kernel Versions: 2.6.15.6 ...
    • (on/off) Support for hot-pluggable devices

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.

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 <http://linux-hotplug.sourceforge.net/>) 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.




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.






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


  • Option: EMBEDDED_RAMDISK_IMAGE
    • Kernel Versions: 2.6.15.6 ...

"Filename of gziped ramdisk image"

    • 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.








Linux Kernel Configuration

Advertisement