Merge branch 'upstream'
[pandora-kernel.git] / arch / xtensa / Kconfig
1 # For a description of the syntax of this configuration file,
2 # see Documentation/kbuild/config-language.txt.
3
4 mainmenu "Linux/Xtensa Kernel Configuration"
5
6 config FRAME_POINTER
7         bool
8         default n
9
10 config XTENSA
11         bool
12         default y
13         help
14           Xtensa processors are 32-bit RISC machines designed by Tensilica
15           primarily for embedded systems.  These processors are both
16           configurable and extensible.  The Linux port to the Xtensa
17           architecture supports all processor configurations and extensions,
18           with reasonable minimum requirements.  The Xtensa Linux project has
19           a home page at <http://xtensa.sourceforge.net/>.
20
21 config RWSEM_XCHGADD_ALGORITHM
22         bool
23         default y
24
25 config GENERIC_HARDIRQS
26         bool
27         default y
28
29 source "init/Kconfig"
30
31 menu "Processor type and features"
32
33 choice
34         prompt "Xtensa Processor Configuration"
35         default XTENSA_CPU_LINUX_BE
36
37 config XTENSA_CPU_LINUX_BE
38         bool "linux_be"
39         ---help---
40           The linux_be processor configuration is the baseline Xtensa
41           configurations included in this kernel and also used by
42           binutils, gcc, and gdb. It contains no TIE, no coprocessors,
43           and the following configuration options:
44
45           Code Density Option                2 Misc Special Registers
46           NSA/NSAU Instructions              128-bit Data Bus Width
47           Processor ID                       8K, 2-way I and D Caches
48           Zero-Overhead Loops                2 Inst Address Break Registers
49           Big Endian                         2 Data Address Break Registers
50           64 General-Purpose Registers       JTAG Interface and Trace Port
51           17 Interrupts                      MMU w/ TLBs and Autorefill
52           3 Interrupt Levels                 8 Autorefill Ways (I/D TLBs)
53           3 Timers                           Unaligned Exceptions
54 endchoice
55
56 config MMU
57         bool
58         default y
59
60 config XTENSA_UNALIGNED_USER
61         bool "Unaligned memory access in use space"
62         ---help---
63            The Xtensa architecture currently does not handle unaligned
64            memory accesses in hardware but through an exception handler.
65            Per default, unaligned memory accesses are disabled in user space.
66
67            Say Y here to enable unaligned memory access in user space.
68
69 config PREEMPT
70         bool "Preemptible Kernel"
71         ---help---
72            This option reduces the latency of the kernel when reacting to
73            real-time or interactive events by allowing a low priority process to
74            be preempted even if it is in kernel mode executing a system call.
75            Unfortunately the kernel code has some race conditions if both
76            CONFIG_SMP and CONFIG_PREEMPT are enabled, so this option is
77            currently disabled if you are building an SMP kernel.
78
79            Say Y here if you are building a kernel for a desktop, embedded
80            or real-time system.  Say N if you are unsure.
81
82 config MATH_EMULATION
83         bool "Math emulation"
84         help
85         Can we use information of configuration file?
86
87 config HIGHMEM
88         bool "High memory support"
89
90 endmenu
91
92 menu "Platform options"
93
94 choice
95         prompt "Xtensa System Type"
96         default XTENSA_PLATFORM_ISS
97
98 config XTENSA_PLATFORM_ISS
99         bool "ISS"
100         help
101           ISS is an acronym for Tensilica's Instruction Set Simulator.
102
103 config XTENSA_PLATFORM_XT2000
104         bool "XT2000"
105         help
106           XT2000 is the name of Tensilica's feature-rich emulation platform.
107           This hardware is capable of running a full Linux distribution.
108
109 endchoice
110
111
112 config XTENSA_CALIBRATE_CCOUNT
113         bool "Auto calibration of the CPU clock rate"
114         ---help---
115           On some platforms (XT2000, for example), the CPU clock rate can
116           vary.  The frequency can be determined, however, by measuring
117           against a well known, fixed frequency, such as an UART oscillator.
118
119 config XTENSA_CPU_CLOCK
120         int "CPU clock rate [MHz]"
121         depends on !XTENSA_CALIBRATE_CCOUNT
122         default "16"
123
124 config GENERIC_CALIBRATE_DELAY
125         bool "Auto calibration of the BogoMIPS value"
126         ---help---
127           The BogoMIPS value can easily be derived from the CPU frequency.
128
129 config CMDLINE_BOOL
130         bool "Default bootloader kernel arguments"
131
132 config CMDLINE
133         string "Initial kernel command string"
134         depends on CMDLINE_BOOL
135         default "console=ttyS0,38400 root=/dev/ram"
136         help
137           On some architectures (EBSA110 and CATS), there is currently no way
138           for the boot loader to pass arguments to the kernel. For these
139           architectures, you should supply some command-line options at build
140           time by entering them here. As a minimum, you should specify the
141           memory size and the root device (e.g., mem=64M root=/dev/nfs).
142
143 config SERIAL_CONSOLE
144         bool
145         depends on XTENSA_PLATFORM_ISS
146         default y
147
148 config XTENSA_ISS_NETWORK
149         bool
150         depends on XTENSA_PLATFORM_ISS
151         default y
152
153 source "mm/Kconfig"
154
155 endmenu
156
157 menu "Bus options"
158
159 config PCI
160         bool "PCI support" if !XTENSA_PLATFORM_ISS
161         depends on !XTENSA_PLATFORM_ISS
162         default y
163         help
164           Find out whether you have a PCI motherboard. PCI is the name of a
165           bus system, i.e. the way the CPU talks to the other stuff inside
166           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
167           VESA. If you have PCI, say Y, otherwise N.
168
169           The PCI-HOWTO, available from
170           <http://www.linuxdoc.org/docs.html#howto>, contains valuable
171           information about which PCI hardware does work under Linux and which
172           doesn't
173
174 source "drivers/pci/Kconfig"
175
176 config HOTPLUG
177
178         bool "Support for hot-pluggable devices"
179         ---help---
180         Say Y here if you want to plug devices into your computer while
181         the system is running, and be able to use them quickly.  In many
182         cases, the devices can likewise be unplugged at any time too.
183
184         One well known example of this is PCMCIA- or PC-cards, credit-card
185         size devices such as network cards, modems or hard drives which are
186         plugged into slots found on all modern laptop computers.  Another
187         example, used on modern desktops as well as laptops, is USB.
188
189         Enable HOTPLUG and KMOD, and build a modular kernel.  Get agent
190         software (at <http://linux-hotplug.sourceforge.net/>) and install it.
191         Then your kernel will automatically call out to a user mode "policy
192         agent" (/sbin/hotplug) to load modules and set up software needed
193         to use devices as you hotplug them.
194
195 source "drivers/pcmcia/Kconfig"
196
197 source "drivers/pci/hotplug/Kconfig"
198
199 endmenu
200
201 menu "Exectuable file formats"
202
203 # only elf supported
204 config KCORE_ELF
205         bool
206         depends on PROC_FS
207         default y
208         help
209           If you enabled support for /proc file system then the file
210           /proc/kcore will contain the kernel core image in ELF format. This
211           can be used in gdb:
212
213           $ cd /usr/src/linux ; gdb vmlinux /proc/kcore
214
215           This is especially useful if you have compiled the kernel with the
216           "-g" option to preserve debugging information. It is mainly used
217           for examining kernel data structures on the live kernel.
218
219 source "fs/Kconfig.binfmt"
220
221 endmenu
222
223 source "net/Kconfig"
224
225 source "drivers/Kconfig"
226
227 source "fs/Kconfig"
228
229 menu "Xtensa initrd options"
230         depends on BLK_DEV_INITRD
231
232         config EMBEDDED_RAMDISK
233         bool "Embed root filesystem ramdisk into the kernel"
234
235 config EMBEDDED_RAMDISK_IMAGE
236         string "Filename of gziped ramdisk image"
237         depends on EMBEDDED_RAMDISK
238         default "ramdisk.gz"
239         help
240           This is the filename of the ramdisk image to be built into the
241           kernel.  Relative pathnames are relative to arch/xtensa/boot/ramdisk/.
242           The ramdisk image is not part of the kernel distribution; you must
243           provide one yourself.
244 endmenu
245
246 source "arch/xtensa/Kconfig.debug"
247
248 source "security/Kconfig"
249
250 source "crypto/Kconfig"
251
252 source "lib/Kconfig"
253
254