xref: /openbmc/linux/arch/xtensa/Kconfig (revision 643d1f7f)
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	help
18	  Xtensa processors are 32-bit RISC machines designed by Tensilica
19	  primarily for embedded systems.  These processors are both
20	  configurable and extensible.  The Linux port to the Xtensa
21	  architecture supports all processor configurations and extensions,
22	  with reasonable minimum requirements.  The Xtensa Linux project has
23	  a home page at <http://xtensa.sourceforge.net/>.
24
25config RWSEM_XCHGADD_ALGORITHM
26	bool
27	default y
28
29config GENERIC_FIND_NEXT_BIT
30	bool
31	default y
32
33config GENERIC_HWEIGHT
34	bool
35	default y
36
37config GENERIC_HARDIRQS
38	bool
39	default y
40
41config ARCH_HAS_ILOG2_U32
42	bool
43	default n
44
45config ARCH_HAS_ILOG2_U64
46	bool
47	default n
48
49config NO_IOPORT
50	def_bool y
51
52source "init/Kconfig"
53
54menu "Processor type and features"
55
56choice
57	prompt "Xtensa Processor Configuration"
58	default XTENSA_VARIANT_FSF
59
60config XTENSA_VARIANT_FSF
61	bool "fsf"
62endchoice
63
64config MMU
65	bool
66	default y
67
68config 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
77config 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
90config MATH_EMULATION
91	bool "Math emulation"
92	help
93	Can we use information of configuration file?
94
95config HIGHMEM
96	bool "High memory support"
97
98endmenu
99
100menu "Platform options"
101
102choice
103	prompt "Xtensa System Type"
104	default XTENSA_PLATFORM_ISS
105
106config XTENSA_PLATFORM_ISS
107	bool "ISS"
108	help
109	  ISS is an acronym for Tensilica's Instruction Set Simulator.
110
111config 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
117endchoice
118
119
120config 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
127config XTENSA_CPU_CLOCK
128	int "CPU clock rate [MHz]"
129	depends on !XTENSA_CALIBRATE_CCOUNT
130	default "16"
131
132config 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
137config CMDLINE_BOOL
138	bool "Default bootloader kernel arguments"
139
140config 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
151config SERIAL_CONSOLE
152	bool
153	depends on XTENSA_PLATFORM_ISS
154	default y
155
156config XTENSA_ISS_NETWORK
157	bool
158	depends on XTENSA_PLATFORM_ISS
159	default y
160
161source "mm/Kconfig"
162
163endmenu
164
165menu "Bus options"
166
167config 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
177source "drivers/pci/Kconfig"
178
179config HOTPLUG
180
181	bool "Support for hot-pluggable devices"
182	---help---
183	Say Y here if you want to plug devices into your computer while
184	the system is running, and be able to use them quickly.  In many
185	cases, the devices can likewise be unplugged at any time too.
186
187	One well known example of this is PCMCIA- or PC-cards, credit-card
188	size devices such as network cards, modems or hard drives which are
189	plugged into slots found on all modern laptop computers.  Another
190	example, used on modern desktops as well as laptops, is USB.
191
192	Enable HOTPLUG and KMOD, and build a modular kernel.  Get agent
193	software (at <http://linux-hotplug.sourceforge.net/>) and install it.
194	Then your kernel will automatically call out to a user mode "policy
195	agent" (/sbin/hotplug) to load modules and set up software needed
196	to use devices as you hotplug them.
197
198source "drivers/pcmcia/Kconfig"
199
200source "drivers/pci/hotplug/Kconfig"
201
202endmenu
203
204menu "Executable file formats"
205
206# only elf supported
207config KCORE_ELF
208        bool
209        depends on PROC_FS
210        default y
211        help
212          If you enabled support for /proc file system then the file
213          /proc/kcore will contain the kernel core image in ELF format. This
214          can be used in gdb:
215
216          $ cd /usr/src/linux ; gdb vmlinux /proc/kcore
217
218          This is especially useful if you have compiled the kernel with the
219          "-g" option to preserve debugging information. It is mainly used
220	  for examining kernel data structures on the live kernel.
221
222source "fs/Kconfig.binfmt"
223
224endmenu
225
226source "net/Kconfig"
227
228source "drivers/Kconfig"
229
230source "fs/Kconfig"
231
232menu "Xtensa initrd options"
233	depends on BLK_DEV_INITRD
234
235	config EMBEDDED_RAMDISK
236	bool "Embed root filesystem ramdisk into the kernel"
237
238config EMBEDDED_RAMDISK_IMAGE
239	string "Filename of gzipped ramdisk image"
240	depends on EMBEDDED_RAMDISK
241	default "ramdisk.gz"
242	help
243	  This is the filename of the ramdisk image to be built into the
244	  kernel.  Relative pathnames are relative to arch/xtensa/boot/ramdisk/.
245	  The ramdisk image is not part of the kernel distribution; you must
246	  provide one yourself.
247endmenu
248
249source "kernel/Kconfig.instrumentation"
250
251source "arch/xtensa/Kconfig.debug"
252
253source "security/Kconfig"
254
255source "crypto/Kconfig"
256
257source "lib/Kconfig"
258
259
260