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