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