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