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