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