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