arch/mips/Kconfig v2.6.32-rc5


Menu: Machine selection

AR7

Texas Instruments AR7

Support for the Texas Instruments AR7 System-on-a-Chip
family: TNETD7100, 7200 and 7300.

BASLER_EXCITE

Basler eXcite smart camera

The eXcite is a smart camera platform manufactured by
Basler Vision Technologies AG.

BCM47XX

BCM47XX based boards

Support for BCM47XX based boards

BCM63XX

Broadcom BCM63XX based boards

Support for BCM63XX based boards

MACH_DECSTATION

DECstations

This enables support for DEC's MIPS based workstations.  For details
see the Linux/MIPS FAQ on <http://www.linux-mips.org/> and the
DECstation porting pages on <http://decstation.unix-ag.org/>.

If you have one of the following DECstation Models you definitely
want to choose R4xx0 for the CPU Type:

DECstation 5000/50
DECstation 5000/150
DECstation 5000/260
DECsystem 5900/260

otherwise choose R3000.

MACH_JAZZ

Jazz family of machines

This a family of machines based on the MIPS R4030 chipset which was
used by several vendors to build RISC/os and Windows NT workstations.
Members include the Acer PICA, MIPS Magnum 4000, MIPS Millennium and
Olivetti M700-10 workstations.

MACH_LOONGSON

Loongson family of machines

This enables the support of Loongson family of machines.

Loongson is a family of general-purpose MIPS-compatible CPUs.
developed at Institute of Computing Technology (ICT),
Chinese Academy of Sciences (CAS) in the People's Republic
of China. The chief architect is Professor Weiwu Hu.

MIPS_MALTA

MIPS Malta board

This enables support for the MIPS Technologies Malta evaluation
board.

MIPS_SIM

'MIPS simulator (MIPSsim)'

This option enables support for MIPS Technologies MIPSsim software
emulator.

NEC_MARKEINS

NEC EMMA2RH Mark-eins board

This enables support for the NEC Electronics Mark-eins boards.

NXP_STB220

NXP STB220 board

Support for NXP Semiconductors STB220 Development Board.

NXP_STB225

NXP 225 board

Support for NXP Semiconductors STB225 Development Board.

PMC_MSP

PMC-Sierra MSP chipsets

This adds support for the PMC-Sierra family of Multi-Service
Processor System-On-A-Chips.  These parts include a number
of integrated peripherals, interfaces and DSPs in addition to
a variety of MIPS cores.

PMC_YOSEMITE

PMC-Sierra Yosemite eval board

Yosemite is an evaluation board for the RM9000x2 processor
manufactured by PMC-Sierra.

SGI_IP22

SGI IP22 (Indy/Indigo2)

This are the SGI Indy, Challenge S and Indigo2, as well as certain
OEM variants like the Tandem CMN B006S. To compile a Linux kernel
that runs on these, say Y here.

SGI_IP27

SGI IP27 (Origin200/2000)

This are the SGI Origin 200, Origin 2000 and Onyx 2 Graphics
workstations.  To compile a Linux kernel that runs on these, say Y
here.

SGI_IP28

SGI IP28 (Indigo2 R10k) (EXPERIMENTAL)

This is the SGI Indigo2 with R10000 processor.  To compile a Linux
kernel that runs on these, say Y here.

SGI_IP32

SGI IP32 (O2)

If you want this kernel to run on SGI O2 workstation, say Y here.

SNI_RM

SNI RM200/300/400

The SNI RM200/300/400 are MIPS-based machines manufactured by
Siemens Nixdorf Informationssysteme (SNI), parent company of Pyramid
Technology and now in turn merged with Fujitsu.  Say Y here to
support this machine type.

MIKROTIK_RB532

Mikrotik RB532 boards

Support the Mikrotik(tm) RouterBoard 532 series,
based on the IDT RC32434 SoC.

WR_PPMC

Wind River PPMC board

This enables support for the Wind River MIPS32 4KC PPMC evaluation
board, which is based on GT64120 bridge chip.

CAVIUM_OCTEON_SIMULATOR

Cavium Networks Octeon Simulator

The Octeon simulator is software performance model of the Cavium
Octeon Processor. It supports simulating Octeon processors on x86
hardware.

CAVIUM_OCTEON_REFERENCE_BOARD

Cavium Networks Octeon reference board

This option supports all of the Octeon reference boards from Cavium
Networks. It builds a kernel that dynamically determines the Octeon
CPU type and supports all known board reference implementations.
Some of the supported boards are:
EBT3000
EBH3000
EBH3100
Thunder
Kodama
Hikari
Say Y here for most Octeon reference boards.

/home/landley/www/kdocs/menuconfig/arch-mips-alchemy-Kconfig.html

/home/landley/www/kdocs/menuconfig/arch-mips-basler-excite-Kconfig.html

/home/landley/www/kdocs/menuconfig/arch-mips-bcm63xx-Kconfig.html

/home/landley/www/kdocs/menuconfig/arch-mips-jazz-Kconfig.html

/home/landley/www/kdocs/menuconfig/arch-mips-lasat-Kconfig.html

/home/landley/www/kdocs/menuconfig/arch-mips-pmc-sierra-Kconfig.html

/home/landley/www/kdocs/menuconfig/arch-mips-sgi-ip27-Kconfig.html

/home/landley/www/kdocs/menuconfig/arch-mips-sibyte-Kconfig.html

/home/landley/www/kdocs/menuconfig/arch-mips-txx9-Kconfig.html

/home/landley/www/kdocs/menuconfig/arch-mips-vr41xx-Kconfig.html

/home/landley/www/kdocs/menuconfig/arch-mips-cavium-octeon-Kconfig.html

/home/landley/www/kdocs/menuconfig/arch-mips-loongson-Kconfig.html


EARLY_PRINTK

Early printk

This option enables special console drivers which allow the kernel
to print messages very early in the bootup process.

This is useful for kernel debugging when your machine crashes very
early before the console code is initialized. For normal operation,
it is not recommended because it looks ugly on some machines and
doesn't cooperate with an X server. You should normally say N here,
unless you want to debug such a crash.

HOTPLUG_CPU

Support for hot-pluggable CPUs

Say Y here to allow turning CPUs off and on. CPUs can be
controlled through /sys/devices/system/cpu.
(Note: power management support will enable this option
automatically on SMP systems. )
Say N if you want to disable CPU hotplug.

GENERIC_GPIO

Endianess selection

Some MIPS machines can be configured for either little or big endian
byte order. These modes require different kernels and a different
Linux distribution.  In general there is one preferred byteorder for a
particular system but some systems are just as commonly used in the
one or the other endianness.

CPU_LITTLE_ENDIAN

Little endian


Menu: CPU selection

CPU_LOONGSON2E

Loongson 2E

The Loongson 2E processor implements the MIPS III instruction set
with many extensions.

CPU_MIPS32_R1

MIPS32 Release 1

Choose this option to build a kernel for release 1 or later of the
MIPS32 architecture.  Most modern embedded systems with a 32-bit
MIPS processor are based on a MIPS32 processor.  If you know the
specific type of processor in your system, choose those that one
otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.
Release 2 of the MIPS32 architecture is available since several
years so chances are you even have a MIPS32 Release 2 processor
in which case you should choose CPU_MIPS32_R2 instead for better
performance.

CPU_MIPS32_R2

MIPS32 Release 2

Choose this option to build a kernel for release 2 or later of the
MIPS32 architecture.  Most modern embedded systems with a 32-bit
MIPS processor are based on a MIPS32 processor.  If you know the
specific type of processor in your system, choose those that one
otherwise CPU_MIPS32_R1 is a safe bet for any MIPS32 system.

CPU_MIPS64_R1

MIPS64 Release 1

Choose this option to build a kernel for release 1 or later of the
MIPS64 architecture.  Many modern embedded systems with a 64-bit
MIPS processor are based on a MIPS64 processor.  If you know the
specific type of processor in your system, choose those that one
otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.
Release 2 of the MIPS64 architecture is available since several
years so chances are you even have a MIPS64 Release 2 processor
in which case you should choose CPU_MIPS64_R2 instead for better
performance.

CPU_MIPS64_R2

MIPS64 Release 2

Choose this option to build a kernel for release 2 or later of the
MIPS64 architecture.  Many modern embedded systems with a 64-bit
MIPS processor are based on a MIPS64 processor.  If you know the
specific type of processor in your system, choose those that one
otherwise CPU_MIPS64_R1 is a safe bet for any MIPS64 system.

CPU_R3000

R3000

Please make sure to pick the right CPU type. Linux/MIPS is not
designed to be generic, i.e. Kernels compiled for R3000 CPUs will
*not* work on R4000 machines and vice versa.  However, since most
of the supported machines have an R4000 (or similar) CPU, R4x00
might be a safe bet.  If the resulting kernel does not work,
try to recompile with R3000.

CPU_VR41XX

R41xx

The options selects support for the NEC VR4100 series of processors.
Only choose this option if you have one of these processors as a
kernel built with this option will not run on any other type of
processor or vice versa.

CPU_R4300

R4300

MIPS Technologies R4300-series processors.

CPU_R4X00

R4x00

MIPS Technologies R4000-series processors other than 4300, including
the R4000, R4400, R4600, and 4700.

CPU_R5000

R5000

MIPS Technologies R5000-series processors other than the Nevada.

CPU_R5500

R5500

NEC VR5500 and VR5500A series processors implement 64-bit MIPS IV
instruction set.

CPU_R6000

R6000

MIPS Technologies R6000 and R6000A series processors.  Note these
processors are extremely rare and the support for them is incomplete.

CPU_NEVADA

RM52xx

QED / PMC-Sierra RM52xx-series ("Nevada") processors.

CPU_R8000

R8000

MIPS Technologies R8000 processors.  Note these processors are
uncommon and the support for them is incomplete.

CPU_R10000

R10000

MIPS Technologies R10000-series processors.

CPU_CAVIUM_OCTEON

Cavium Octeon processor

The Cavium Octeon processor is a highly integrated chip containing
many ethernet hardware widgets for networking tasks. The processor
can have up to 16 Mips64v2 cores and 8 integrated gigabit ethernets.
Full details can be found at http://www.caviumnetworks.com.



Menu: Kernel type

HARDWARE_WATCHPOINTS

Kernel code model

You should only select this option if you have a workload that
actually benefits from 64-bit processing or if your machine has
large memory.  You will only be presented a single option in this
menu if your system does not support both 32-bit and 64-bit kernels.

32BIT

32-bit kernel

Select this option if you want to build a 32-bit kernel.

64BIT

64-bit kernel

Select this option if you want to build a 64-bit kernel.

PAGE_SIZE_4KB

4kB

This option select the standard 4kB Linux page size.  On some
R3000-family processors this is the only available page size.  Using
4kB page size will minimize memory consumption and is therefore
recommended for low memory systems.

PAGE_SIZE_8KB

8kB

Using 8kB page size will result in higher performance kernel at
the price of higher memory consumption.  This option is available
only on R8000 and cnMIPS processors.  Note that you will need a
suitable Linux distribution to support this.

PAGE_SIZE_16KB

16kB

Using 16kB page size will result in higher performance kernel at
the price of higher memory consumption.  This option is available on
all non-R3000 family processors.  Note that you will need a suitable
Linux distribution to support this.

PAGE_SIZE_32KB

32kB

Using 32kB page size will result in higher performance kernel at
the price of higher memory consumption.  This option is available
only on cnMIPS cores.  Note that you will need a suitable Linux
distribution to support this.

PAGE_SIZE_64KB

64kB

Using 64kB page size will result in higher performance kernel at
the price of higher memory consumption.  This option is available on
all non-R3000 family processor.  Not that at the time of this
writing this option is still high experimental.

SIBYTE_DMA_PAGEOPS

Use DMA to clear/copy pages

Instead of using the CPU to zero and copy pages, use a Data Mover
channel.  These DMA channels are otherwise unused by the standard
SiByte Linux port.  Seems to give a small performance benefit.

MIPS_MT_DISABLED

Disable multithreading support.

Use this option if your workload can't take advantage of
MIPS hardware multithreading support.  On systems that don't have
the option of an MT-enabled processor this option will be the only
option in this menu.

MIPS_MT_SMP

Use 1 TC on each available VPE for SMP

This is a kernel model which is also known a VSMP or lately
has been marketesed into SMVP.

MIPS_MT_SMTC

SMTC: Use all TCs on all VPEs for SMP

This is a kernel model which is known a SMTC or lately has been
marketesed into SMVP.

SCHED_SMT

SMT (multithreading) scheduler support

SMT scheduler support improves the CPU scheduler's decision making
when dealing with MIPS MT enabled cores at a cost of slightly
increased overhead in some places. If unsure say N here.

MIPS_VPE_LOADER

VPE loader support.

Includes a loader for loading an elf relocatable object
onto another VPE and running it.

MIPS_MT_SMTC_IM_BACKSTOP

Use per-TC register bits as backstop for inhibited IM bits

To support multiple TC microthreads acting as "CPUs" within
a VPE, VPE-wide interrupt mask bits must be specially manipulated
during interrupt handling. To support legacy drivers and interrupt
controller management code, SMTC has a "backstop" to track and
if necessary restore the interrupt mask. This has some performance
impact on interrupt service overhead.

MIPS_MT_SMTC_IRQAFF

Support IRQ affinity API

Enables SMP IRQ affinity API (/proc/irq/*/smp_affinity, etc.)
for SMTC Linux kernel. Requires platform support, of which
an example can be found in the MIPS kernel i8259 and Malta
platform code.  Adds some overhead to interrupt dispatch, and
should be used only if you know what you are doing.

MIPS_VPE_LOADER_TOM

Load VPE program into memory hidden from linux

The loader can use memory that is present but has been hidden from
Linux using the kernel command line option "mem=xxMB". It's up to
you to ensure the amount you put in the option and the space your
program requires is less or equal to the amount physically present.

MIPS_VPE_APSP_API

Enable support for AP/SP API (RTLX)

MIPS_APSP_KSPD

Enable KSPD

KSPD is a kernel daemon that accepts syscall requests from the SP
side, actions them and returns the results. It also handles the
"exit" syscall notifying other kernel modules the SP program is
exiting.  You probably want to say yes here.

MIPS_CMP

MIPS CMP framework support

This is a placeholder option for the GCMP work. It will need to
be handled differently...

CPU_HAS_SMARTMIPS

Support for the SmartMIPS ASE

SmartMIPS is a extension of the MIPS32 architecture aimed at
increased security at both hardware and software level for
smartcards.  Enabling this option will allow proper use of the
SmartMIPS instructions by Linux applications.  However a kernel with
this option will not work on a MIPS core without SmartMIPS core.  If
you don't know you probably don't have SmartMIPS and should say N
here.

ARCH_DISCONTIGMEM_ENABLE

Say Y to support efficient handling of discontiguous physical memory,
for architectures which are either NUMA (Non-Uniform Memory Access)
or have huge holes in the physical address space for other reasons.
See <file:Documentation/vm/numa> for more.

NUMA

NUMA Support

Say Y to compile the kernel to support NUMA (Non-Uniform Memory
Access).  This option improves performance on systems with more
than two nodes; on two node systems it is generally better to
leave it disabled; on single node systems disable this option
disabled.

/home/landley/www/kdocs/menuconfig/mm-Kconfig.html

SMP

Multi-Processing support

This enables support for systems with more than one CPU. If you have
a system with only one CPU, like most personal computers, say N. If
you have a system with more than one CPU, say Y.

If you say N here, the kernel will run on single and multiprocessor
machines, but will use only one CPU of a multiprocessor machine. If
you say Y here, the kernel will run on many, but not all,
singleprocessor machines. On a singleprocessor machine, the kernel
will run faster if you say N here.

People using multiprocessor machines who say Y here should also say
Y to "Enhanced Real Time Clock Support", below.

See also the SMP-HOWTO available at
<http://www.tldp.org/docs.html#howto>.

If you don't know what to do here, say N.

NR_CPUS

Maximum number of CPUs (2-64)

This allows you to specify the maximum number of CPUs which this
kernel will support.  The maximum supported value is 32 for 32-bit
kernel and 64 for 64-bit kernels; the minimum value which makes
sense is 1 for Qemu (useful only for kernel debugging purposes)
and 2 for all others.

This is purely to save memory - each supported CPU adds
approximately eight kilobytes to the kernel image.  For best
performance should round up your number of processors to the next
power of two.

/home/landley/www/kdocs/menuconfig/kernel-time-Kconfig.html

NR_CPUS

Timer frequency

Allows the configuration of the timer frequency.

config HZ_48
bool "48 HZ" if SYS_SUPPORTS_48HZ || SYS_SUPPORTS_ARBIT_HZ

config HZ_100
bool "100 HZ" if SYS_SUPPORTS_100HZ || SYS_SUPPORTS_ARBIT_HZ

config HZ_128
bool "128 HZ" if SYS_SUPPORTS_128HZ || SYS_SUPPORTS_ARBIT_HZ

config HZ_250
bool "250 HZ" if SYS_SUPPORTS_250HZ || SYS_SUPPORTS_ARBIT_HZ

config HZ_256
bool "256 HZ" if SYS_SUPPORTS_256HZ || SYS_SUPPORTS_ARBIT_HZ

config HZ_1000
bool "1000 HZ" if SYS_SUPPORTS_1000HZ || SYS_SUPPORTS_ARBIT_HZ

config HZ_1024
bool "1024 HZ" if SYS_SUPPORTS_1024HZ || SYS_SUPPORTS_ARBIT_HZ

/home/landley/www/kdocs/menuconfig/kernel-Kconfig.preempt.html

MIPS_INSANE_LARGE

Support for large 64-bit configurations

MIPS R10000 does support a 44 bit / 16TB address space as opposed to
previous 64-bit processors which only supported 40 bit / 1TB. If you
need processes of more than 1TB virtual address space, say Y here.
This will result in additional memory usage, so it is not
recommended for normal users.

KEXEC

Kexec system call (EXPERIMENTAL)

kexec is a system call that implements the ability to shutdown your
current kernel, and to start another kernel.  It is like a reboot
but it is independent of the system firmware.   And like a reboot
you can start any kernel with it, not just Linux.

The name comes from the similarity to the exec system call.

It is an ongoing process to be certain the hardware in a machine
is properly shutdown, so do not be surprised if this code does not
initially work for you.  It may help to enable device hotplugging
support.  As of this writing the exact hardware interface is
strongly in flux, so no good recommendation can be made.

SECCOMP

Enable seccomp to safely compute untrusted bytecode

This kernel feature is useful for number crunching applications
that may need to compute untrusted bytecode during their
execution. By using pipes or other transports made available to
the process as file descriptors supporting the read/write
syscalls, it's possible to isolate those applications in
their own address space using seccomp. Once seccomp is
enabled via /proc/<pid>/seccomp, it cannot be disabled
and the task is only allowed to execute a few safe syscalls
defined by each seccomp mode.

If unsure, say Y. Only embedded should say N here.


/home/landley/www/kdocs/menuconfig/init-Kconfig.html

PROBE_INITRD_HEADER

Probe initrd header created by addinitrd

Probe initrd header at the last page of kernel image.
Say Y here if you are using arch/mips/boot/addinitrd.c to
add initrd or initramfs image to the kernel image.
Otherwise, say N.

/home/landley/www/kdocs/menuconfig/kernel-Kconfig.freezer.html


Menu: Bus options (PCI, PCMCIA, EISA, ISA, TC)

PCI

Support for PCI controller

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, or VESA. If you have PCI,
say Y, otherwise N.

/home/landley/www/kdocs/menuconfig/drivers-pci-Kconfig.html

EISA

EISA support

The Extended Industry Standard Architecture (EISA) bus was
developed as an open alternative to the IBM MicroChannel bus.

The EISA bus provided some of the features of the IBM MicroChannel
bus while maintaining backward compatibility with cards made for
the older ISA bus.  The EISA bus saw limited use between 1988 and
1995 when it was made obsolete by the PCI bus.

Say Y here if you are building a kernel for an EISA-based machine.

Otherwise, say N.

/home/landley/www/kdocs/menuconfig/drivers-eisa-Kconfig.html

TC

TURBOchannel support

TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
processors.  Documentation on writing device drivers for TurboChannel
is available at:
<http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.

/home/landley/www/kdocs/menuconfig/drivers-pcmcia-Kconfig.html

/home/landley/www/kdocs/menuconfig/drivers-pci-hotplug-Kconfig.html



Menu: Executable file formats

/home/landley/www/kdocs/menuconfig/fs-Kconfig.binfmt.html

MIPS32_COMPAT

Kernel support for Linux/MIPS 32-bit binary compatibility

Select this option if you want Linux/MIPS 32-bit binary
compatibility. Since all software available for Linux/MIPS is
currently 32-bit you should say Y here.

MIPS32_O32

Kernel support for o32 binaries

Select this option if you want to run o32 binaries.  These are pure
32-bit binaries as used by the 32-bit Linux/MIPS port.  Most of
existing binaries are in this format.

If unsure, say Y.

MIPS32_N32

Kernel support for n32 binaries

Select this option if you want to run n32 binaries.  These are
64-bit binaries using 32-bit quantities for addressing and certain
data that would normally be 64-bit.  They are used in special
cases.

If unsure, say N.



Menu: Power management options

/home/landley/www/kdocs/menuconfig/kernel-power-Kconfig.html


/home/landley/www/kdocs/menuconfig/net-Kconfig.html

/home/landley/www/kdocs/menuconfig/drivers-Kconfig.html

/home/landley/www/kdocs/menuconfig/fs-Kconfig.html

/home/landley/www/kdocs/menuconfig/arch-mips-Kconfig.debug.html

/home/landley/www/kdocs/menuconfig/security-Kconfig.html

/home/landley/www/kdocs/menuconfig/crypto-Kconfig.html

/home/landley/www/kdocs/menuconfig/lib-Kconfig.html