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