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