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