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