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