xref: /openbmc/linux/arch/xtensa/Kconfig (revision f15cbe6f)
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"
58
59menu "Processor type and features"
60
61choice
62	prompt "Xtensa Processor Configuration"
63	default XTENSA_VARIANT_FSF
64
65config XTENSA_VARIANT_FSF
66	bool "fsf"
67endchoice
68
69config MMU
70	bool
71	default y
72
73config XTENSA_UNALIGNED_USER
74	bool "Unaligned memory access in use space"
75	---help---
76	   The Xtensa architecture currently does not handle unaligned
77	   memory accesses in hardware but through an exception handler.
78	   Per default, unaligned memory accesses are disabled in user space.
79
80	   Say Y here to enable unaligned memory access in user space.
81
82config PREEMPT
83	bool "Preemptible Kernel"
84	---help---
85           This option reduces the latency of the kernel when reacting to
86           real-time or interactive events by allowing a low priority process to
87           be preempted even if it is in kernel mode executing a system call.
88           Unfortunately the kernel code has some race conditions if both
89           CONFIG_SMP and CONFIG_PREEMPT are enabled, so this option is
90           currently disabled if you are building an SMP kernel.
91
92           Say Y here if you are building a kernel for a desktop, embedded
93           or real-time system.  Say N if you are unsure.
94
95config MATH_EMULATION
96	bool "Math emulation"
97	help
98	Can we use information of configuration file?
99
100config HIGHMEM
101	bool "High memory support"
102
103endmenu
104
105menu "Platform options"
106
107choice
108	prompt "Xtensa System Type"
109	default XTENSA_PLATFORM_ISS
110
111config XTENSA_PLATFORM_ISS
112	bool "ISS"
113	help
114	  ISS is an acronym for Tensilica's Instruction Set Simulator.
115
116config XTENSA_PLATFORM_XT2000
117	bool "XT2000"
118	help
119	  XT2000 is the name of Tensilica's feature-rich emulation platform.
120	  This hardware is capable of running a full Linux distribution.
121
122endchoice
123
124
125config XTENSA_CALIBRATE_CCOUNT
126	bool "Auto calibration of the CPU clock rate"
127	---help---
128	  On some platforms (XT2000, for example), the CPU clock rate can
129	  vary.  The frequency can be determined, however, by measuring
130	  against a well known, fixed frequency, such as an UART oscillator.
131
132config XTENSA_CPU_CLOCK
133	int "CPU clock rate [MHz]"
134	depends on !XTENSA_CALIBRATE_CCOUNT
135	default "16"
136
137config GENERIC_CALIBRATE_DELAY
138	bool "Auto calibration of the BogoMIPS value"
139	---help---
140	  The BogoMIPS value can easily be derived from the CPU frequency.
141
142config CMDLINE_BOOL
143	bool "Default bootloader kernel arguments"
144
145config CMDLINE
146	string "Initial kernel command string"
147	depends on CMDLINE_BOOL
148	default "console=ttyS0,38400 root=/dev/ram"
149	help
150	  On some architectures (EBSA110 and CATS), there is currently no way
151	  for the boot loader to pass arguments to the kernel. For these
152	  architectures, you should supply some command-line options at build
153	  time by entering them here. As a minimum, you should specify the
154	  memory size and the root device (e.g., mem=64M root=/dev/nfs).
155
156config SERIAL_CONSOLE
157	bool
158	depends on XTENSA_PLATFORM_ISS
159	default y
160
161config XTENSA_ISS_NETWORK
162	bool
163	depends on XTENSA_PLATFORM_ISS
164	default y
165
166source "mm/Kconfig"
167
168endmenu
169
170menu "Bus options"
171
172config PCI
173	bool "PCI support" if !XTENSA_PLATFORM_ISS
174	depends on !XTENSA_PLATFORM_ISS
175	default y
176	help
177	  Find out whether you have a PCI motherboard. PCI is the name of a
178	  bus system, i.e. the way the CPU talks to the other stuff inside
179	  your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
180	  VESA. If you have PCI, say Y, otherwise N.
181
182source "drivers/pci/Kconfig"
183
184config 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 build a modular kernel.  Get agent software
198	(from <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
203source "drivers/pcmcia/Kconfig"
204
205source "drivers/pci/hotplug/Kconfig"
206
207endmenu
208
209menu "Executable file formats"
210
211# only elf supported
212config 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
227source "fs/Kconfig.binfmt"
228
229endmenu
230
231source "net/Kconfig"
232
233source "drivers/Kconfig"
234
235source "fs/Kconfig"
236
237menu "Xtensa initrd options"
238	depends on BLK_DEV_INITRD
239
240	config EMBEDDED_RAMDISK
241	bool "Embed root filesystem ramdisk into the kernel"
242
243config EMBEDDED_RAMDISK_IMAGE
244	string "Filename of gzipped ramdisk image"
245	depends on EMBEDDED_RAMDISK
246	default "ramdisk.gz"
247	help
248	  This is the filename of the ramdisk image to be built into the
249	  kernel.  Relative pathnames are relative to arch/xtensa/boot/ramdisk/.
250	  The ramdisk image is not part of the kernel distribution; you must
251	  provide one yourself.
252endmenu
253
254source "arch/xtensa/Kconfig.debug"
255
256source "security/Kconfig"
257
258source "crypto/Kconfig"
259
260source "lib/Kconfig"
261
262
263