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