[PATCH] xtensa: Added mm/Kconfig to get a flat memory layout
[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 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 be 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 source "mm/Kconfig"
162
163 endmenu
164
165 menu "Bus options"
166
167 config PCI
168         bool "PCI support" if !XTENSA_PLATFORM_ISS
169         depends on !XTENSA_PLATFORM_ISS
170         default y
171         help
172           Find out whether you have a PCI motherboard. PCI is the name of a
173           bus system, i.e. the way the CPU talks to the other stuff inside
174           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
175           VESA. If you have PCI, say Y, otherwise N.
176
177           The PCI-HOWTO, available from
178           <http://www.linuxdoc.org/docs.html#howto>, contains valuable
179           information about which PCI hardware does work under Linux and which
180           doesn't
181
182 source "drivers/pci/Kconfig"
183
184 config HOTPLUG
185
186         bool "Support for hot-pluggable devices"
187         ---help---
188         Say Y here if you want to plug devices into your computer while
189         the system is running, and be able to use them quickly.  In many
190         cases, the devices can likewise be unplugged at any time too.
191
192         One well known example of this is PCMCIA- or PC-cards, credit-card
193         size devices such as network cards, modems or hard drives which are
194         plugged into slots found on all modern laptop computers.  Another
195         example, used on modern desktops as well as laptops, is USB.
196
197         Enable HOTPLUG and KMOD, and build a modular kernel.  Get agent
198         software (at <http://linux-hotplug.sourceforge.net/>) and install it.
199         Then your kernel will automatically call out to a user mode "policy
200         agent" (/sbin/hotplug) to load modules and set up software needed
201         to use devices as you hotplug them.
202
203 source "drivers/pcmcia/Kconfig"
204
205 source "drivers/pci/hotplug/Kconfig"
206
207 endmenu
208
209 menu "Exectuable file formats"
210
211 # only elf supported
212 config KCORE_ELF
213         bool
214         depends on PROC_FS
215         default y
216         help
217           If you enabled support for /proc file system then the file
218           /proc/kcore will contain the kernel core image in ELF format. This
219           can be used in gdb:
220
221           $ cd /usr/src/linux ; gdb vmlinux /proc/kcore
222
223           This is especially useful if you have compiled the kernel with the
224           "-g" option to preserve debugging information. It is mainly used
225           for examining kernel data structures on the live kernel.
226
227 source "fs/Kconfig.binfmt"
228
229 endmenu
230
231 source "drivers/Kconfig"
232
233 source "fs/Kconfig"
234
235 menu "Xtensa initrd options"
236         depends on BLK_DEV_INITRD
237
238         config EMBEDDED_RAMDISK
239         bool "Embed root filesystem ramdisk into the kernel"
240
241 config EMBEDDED_RAMDISK_IMAGE
242         string "Filename of gziped ramdisk image"
243         depends on EMBEDDED_RAMDISK
244         default "ramdisk.gz"
245         help
246           This is the filename of the ramdisk image to be built into the
247           kernel.  Relative pathnames are relative to arch/xtensa/boot/ramdisk/.
248           The ramdisk image is not part of the kernel distribution; you must
249           provide one yourself.
250 endmenu
251
252 source "arch/xtensa/Kconfig.debug"
253
254 source "security/Kconfig"
255
256 source "crypto/Kconfig"
257
258 source "lib/Kconfig"
259
260