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