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