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