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