]> Pileus Git - ~andy/linux/blob - arch/xtensa/Kconfig
xtensa: no need to select USE_GENERIC_SMP_HELPERS
[~andy/linux] / arch / xtensa / Kconfig
1 config ZONE_DMA
2         def_bool y
3
4 config XTENSA
5         def_bool y
6         select ARCH_WANT_FRAME_POINTERS
7         select HAVE_IDE
8         select GENERIC_ATOMIC64
9         select GENERIC_CLOCKEVENTS
10         select VIRT_TO_BUS
11         select GENERIC_IRQ_SHOW
12         select GENERIC_SCHED_CLOCK
13         select MODULES_USE_ELF_RELA
14         select GENERIC_PCI_IOMAP
15         select ARCH_WANT_IPC_PARSE_VERSION
16         select ARCH_WANT_OPTIONAL_GPIOLIB
17         select CLONE_BACKWARDS
18         select IRQ_DOMAIN
19         select HAVE_OPROFILE
20         select HAVE_FUNCTION_TRACER
21         select HAVE_IRQ_TIME_ACCOUNTING
22         select HAVE_PERF_EVENTS
23         help
24           Xtensa processors are 32-bit RISC machines designed by Tensilica
25           primarily for embedded systems.  These processors are both
26           configurable and extensible.  The Linux port to the Xtensa
27           architecture supports all processor configurations and extensions,
28           with reasonable minimum requirements.  The Xtensa Linux project has
29           a home page at <http://www.linux-xtensa.org/>.
30
31 config RWSEM_XCHGADD_ALGORITHM
32         def_bool y
33
34 config GENERIC_HWEIGHT
35         def_bool y
36
37 config ARCH_HAS_ILOG2_U32
38         def_bool n
39
40 config ARCH_HAS_ILOG2_U64
41         def_bool n
42
43 config NO_IOPORT
44         def_bool n
45
46 config HZ
47         int
48         default 100
49
50 source "init/Kconfig"
51 source "kernel/Kconfig.freezer"
52
53 config LOCKDEP_SUPPORT
54         def_bool y
55
56 config STACKTRACE_SUPPORT
57         def_bool y
58
59 config TRACE_IRQFLAGS_SUPPORT
60         def_bool y
61
62 config MMU
63         def_bool n
64
65 config VARIANT_IRQ_SWITCH
66         def_bool n
67
68 config HAVE_XTENSA_GPIO32
69         def_bool n
70
71 config MAY_HAVE_SMP
72         def_bool n
73
74 menu "Processor type and features"
75
76 choice
77         prompt "Xtensa Processor Configuration"
78         default XTENSA_VARIANT_FSF
79
80 config XTENSA_VARIANT_FSF
81         bool "fsf - default (not generic) configuration"
82         select MMU
83
84 config XTENSA_VARIANT_DC232B
85         bool "dc232b - Diamond 232L Standard Core Rev.B (LE)"
86         select MMU
87         select HAVE_XTENSA_GPIO32
88         help
89           This variant refers to Tensilica's Diamond 232L Standard core Rev.B (LE).
90
91 config XTENSA_VARIANT_DC233C
92         bool "dc233c - Diamond 233L Standard Core Rev.C (LE)"
93         select MMU
94         select HAVE_XTENSA_GPIO32
95         help
96           This variant refers to Tensilica's Diamond 233L Standard core Rev.C (LE).
97
98 config XTENSA_VARIANT_S6000
99         bool "s6000 - Stretch software configurable processor"
100         select VARIANT_IRQ_SWITCH
101         select ARCH_REQUIRE_GPIOLIB
102         select XTENSA_CALIBRATE_CCOUNT
103 endchoice
104
105 config XTENSA_UNALIGNED_USER
106         bool "Unaligned memory access in use space"
107         help
108           The Xtensa architecture currently does not handle unaligned
109           memory accesses in hardware but through an exception handler.
110           Per default, unaligned memory accesses are disabled in user space.
111
112           Say Y here to enable unaligned memory access in user space.
113
114 source "kernel/Kconfig.preempt"
115
116 config HAVE_SMP
117         bool "System Supports SMP (MX)"
118         depends on MAY_HAVE_SMP
119         select XTENSA_MX
120         help
121           This option is use to indicate that the system-on-a-chip (SOC)
122           supports Multiprocessing. Multiprocessor support implemented above
123           the CPU core definition and currently needs to be selected manually.
124
125           Multiprocessor support in implemented with external cache and
126           interrupt controlers.
127
128           The MX interrupt distributer adds Interprocessor Interrupts
129           and causes the IRQ numbers to be increased by 4 for devices
130           like the open cores ethernet driver and the serial interface.
131
132           You still have to select "Enable SMP" to enable SMP on this SOC.
133
134 config SMP
135         bool "Enable Symmetric multi-processing support"
136         depends on HAVE_SMP
137         select GENERIC_SMP_IDLE_THREAD
138         help
139           Enabled SMP Software; allows more than one CPU/CORE
140           to be activated during startup.
141
142 config NR_CPUS
143         depends on SMP
144         int "Maximum number of CPUs (2-32)"
145         range 2 32
146         default "4"
147
148 config HOTPLUG_CPU
149         bool "Enable CPU hotplug support"
150         depends on SMP
151         help
152           Say Y here to allow turning CPUs off and on. CPUs can be
153           controlled through /sys/devices/system/cpu.
154
155           Say N if you want to disable CPU hotplug.
156
157 config MATH_EMULATION
158         bool "Math emulation"
159         help
160         Can we use information of configuration file?
161
162 config INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX
163         bool "Initialize Xtensa MMU inside the Linux kernel code"
164         default y
165         help
166           Earlier version initialized the MMU in the exception vector
167           before jumping to _startup in head.S and had an advantage that
168           it was possible to place a software breakpoint at 'reset' and
169           then enter your normal kernel breakpoints once the MMU was mapped
170           to the kernel mappings (0XC0000000).
171
172           This unfortunately doesn't work for U-Boot and likley also wont
173           work for using KEXEC to have a hot kernel ready for doing a
174           KDUMP.
175
176           So now the MMU is initialized in head.S but it's necessary to
177           use hardware breakpoints (gdb 'hbreak' cmd) to break at _startup.
178           xt-gdb can't place a Software Breakpoint in the  0XD region prior
179           to mapping the MMU and after mapping even if the area of low memory
180           was mapped gdb wouldn't remove the breakpoint on hitting it as the
181           PC wouldn't match. Since Hardware Breakpoints are recommended for
182           Linux configurations it seems reasonable to just assume they exist
183           and leave this older mechanism for unfortunate souls that choose
184           not to follow Tensilica's recommendation.
185
186           Selecting this will cause U-Boot to set the KERNEL Load and Entry
187           address at 0x00003000 instead of the mapped std of 0xD0003000.
188
189           If in doubt, say Y.
190
191 endmenu
192
193 config XTENSA_CALIBRATE_CCOUNT
194         def_bool n
195         help
196           On some platforms (XT2000, for example), the CPU clock rate can
197           vary.  The frequency can be determined, however, by measuring
198           against a well known, fixed frequency, such as an UART oscillator.
199
200 config SERIAL_CONSOLE
201         def_bool n
202
203 menu "Bus options"
204
205 config PCI
206         bool "PCI support"
207         default y
208         help
209           Find out whether you have a PCI motherboard. PCI is the name of a
210           bus system, i.e. the way the CPU talks to the other stuff inside
211           your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
212           VESA. If you have PCI, say Y, otherwise N.
213
214 source "drivers/pci/Kconfig"
215
216 endmenu
217
218 menu "Platform options"
219
220 choice
221         prompt "Xtensa System Type"
222         default XTENSA_PLATFORM_ISS
223
224 config XTENSA_PLATFORM_ISS
225         bool "ISS"
226         depends on TTY
227         select XTENSA_CALIBRATE_CCOUNT
228         select SERIAL_CONSOLE
229         help
230           ISS is an acronym for Tensilica's Instruction Set Simulator.
231
232 config XTENSA_PLATFORM_XT2000
233         bool "XT2000"
234         help
235           XT2000 is the name of Tensilica's feature-rich emulation platform.
236           This hardware is capable of running a full Linux distribution.
237
238 config XTENSA_PLATFORM_S6105
239         bool "S6105"
240         select SERIAL_CONSOLE
241         select NO_IOPORT
242
243 config XTENSA_PLATFORM_XTFPGA
244         bool "XTFPGA"
245         select SERIAL_CONSOLE
246         select ETHOC
247         select XTENSA_CALIBRATE_CCOUNT
248         help
249           XTFPGA is the name of Tensilica board family (LX60, LX110, LX200, ML605).
250           This hardware is capable of running a full Linux distribution.
251
252 endchoice
253
254
255 config XTENSA_CPU_CLOCK
256         int "CPU clock rate [MHz]"
257         depends on !XTENSA_CALIBRATE_CCOUNT
258         default 16
259
260 config GENERIC_CALIBRATE_DELAY
261         bool "Auto calibration of the BogoMIPS value"
262         help
263           The BogoMIPS value can easily be derived from the CPU frequency.
264
265 config CMDLINE_BOOL
266         bool "Default bootloader kernel arguments"
267
268 config CMDLINE
269         string "Initial kernel command string"
270         depends on CMDLINE_BOOL
271         default "console=ttyS0,38400 root=/dev/ram"
272         help
273           On some architectures (EBSA110 and CATS), there is currently no way
274           for the boot loader to pass arguments to the kernel. For these
275           architectures, you should supply some command-line options at build
276           time by entering them here. As a minimum, you should specify the
277           memory size and the root device (e.g., mem=64M root=/dev/nfs).
278
279 config USE_OF
280         bool "Flattened Device Tree support"
281         select OF
282         select OF_EARLY_FLATTREE
283         help
284           Include support for flattened device tree machine descriptions.
285
286 config BUILTIN_DTB
287         string "DTB to build into the kernel image"
288         depends on OF
289
290 config BLK_DEV_SIMDISK
291         tristate "Host file-based simulated block device support"
292         default n
293         depends on XTENSA_PLATFORM_ISS
294         help
295           Create block devices that map to files in the host file system.
296           Device binding to host file may be changed at runtime via proc
297           interface provided the device is not in use.
298
299 config BLK_DEV_SIMDISK_COUNT
300         int "Number of host file-based simulated block devices"
301         range 1 10
302         depends on BLK_DEV_SIMDISK
303         default 2
304         help
305           This is the default minimal number of created block devices.
306           Kernel/module parameter 'simdisk_count' may be used to change this
307           value at runtime. More file names (but no more than 10) may be
308           specified as parameters, simdisk_count grows accordingly.
309
310 config SIMDISK0_FILENAME
311         string "Host filename for the first simulated device"
312         depends on BLK_DEV_SIMDISK = y
313         default ""
314         help
315           Attach a first simdisk to a host file. Conventionally, this file
316           contains a root file system.
317
318 config SIMDISK1_FILENAME
319         string "Host filename for the second simulated device"
320         depends on BLK_DEV_SIMDISK = y && BLK_DEV_SIMDISK_COUNT != 1
321         default ""
322         help
323           Another simulated disk in a host file for a buildroot-independent
324           storage.
325
326 source "mm/Kconfig"
327
328 source "drivers/pcmcia/Kconfig"
329
330 source "drivers/pci/hotplug/Kconfig"
331
332 endmenu
333
334 menu "Executable file formats"
335
336 source "fs/Kconfig.binfmt"
337
338 endmenu
339
340 source "net/Kconfig"
341
342 source "drivers/Kconfig"
343
344 source "fs/Kconfig"
345
346 source "arch/xtensa/Kconfig.debug"
347
348 source "security/Kconfig"
349
350 source "crypto/Kconfig"
351
352 source "lib/Kconfig"
353
354