Commit | Line | Data |
---|---|---|
66701b14 | 1 | config ZONE_DMA |
35f9cd08 | 2 | def_bool y |
66701b14 | 3 | |
8e1a6dd2 | 4 | config XTENSA |
35f9cd08 | 5 | def_bool y |
8f371c75 | 6 | select ARCH_WANT_FRAME_POINTERS |
e969161b | 7 | select ARCH_WANT_IPC_PARSE_VERSION |
25df8198 | 8 | select BUILDTIME_EXTABLE_SORT |
3e41f9ba | 9 | select CLONE_BACKWARDS |
920f8a39 MF |
10 | select COMMON_CLK |
11 | select GENERIC_ATOMIC64 | |
12 | select GENERIC_CLOCKEVENTS | |
13 | select GENERIC_IRQ_SHOW | |
14 | select GENERIC_PCI_IOMAP | |
15 | select GENERIC_SCHED_CLOCK | |
c75959a6 | 16 | select HAVE_DMA_API_DEBUG |
478ba61a | 17 | select HAVE_FUNCTION_TRACER |
d951ba21 | 18 | select HAVE_FUTEX_CMPXCHG if !MMU |
c91e02bd | 19 | select HAVE_HW_BREAKPOINT if PERF_EVENTS |
496543c4 | 20 | select HAVE_IRQ_TIME_ACCOUNTING |
920f8a39 | 21 | select HAVE_OPROFILE |
a6f3eefa | 22 | select HAVE_PERF_EVENTS |
920f8a39 MF |
23 | select IRQ_DOMAIN |
24 | select MODULES_USE_ELF_RELA | |
db8165f5 | 25 | select PERF_USE_VMALLOC |
920f8a39 | 26 | select VIRT_TO_BUS |
8e1a6dd2 CZ |
27 | help |
28 | Xtensa processors are 32-bit RISC machines designed by Tensilica | |
29 | primarily for embedded systems. These processors are both | |
30 | configurable and extensible. The Linux port to the Xtensa | |
31 | architecture supports all processor configurations and extensions, | |
32 | with reasonable minimum requirements. The Xtensa Linux project has | |
0ada4490 | 33 | a home page at <http://www.linux-xtensa.org/>. |
8e1a6dd2 | 34 | |
8e1a6dd2 | 35 | config RWSEM_XCHGADD_ALGORITHM |
35f9cd08 | 36 | def_bool y |
8e1a6dd2 | 37 | |
d4337aa5 | 38 | config GENERIC_HWEIGHT |
35f9cd08 | 39 | def_bool y |
d4337aa5 | 40 | |
f0d1b0b3 | 41 | config ARCH_HAS_ILOG2_U32 |
35f9cd08 | 42 | def_bool n |
f0d1b0b3 DH |
43 | |
44 | config ARCH_HAS_ILOG2_U64 | |
35f9cd08 | 45 | def_bool n |
f0d1b0b3 | 46 | |
ce816fa8 | 47 | config NO_IOPORT_MAP |
d046f77e | 48 | def_bool n |
5ea81769 | 49 | |
bdc80787 PA |
50 | config HZ |
51 | int | |
52 | default 100 | |
53 | ||
8e1a6dd2 | 54 | source "init/Kconfig" |
dc52ddc0 | 55 | source "kernel/Kconfig.freezer" |
8e1a6dd2 | 56 | |
8f371c75 MF |
57 | config LOCKDEP_SUPPORT |
58 | def_bool y | |
59 | ||
3e4196a5 MF |
60 | config STACKTRACE_SUPPORT |
61 | def_bool y | |
62 | ||
c92931b2 MF |
63 | config TRACE_IRQFLAGS_SUPPORT |
64 | def_bool y | |
65 | ||
35f9cd08 | 66 | config MMU |
de7c1c78 | 67 | def_bool n |
35f9cd08 | 68 | |
4c0d2141 JW |
69 | config VARIANT_IRQ_SWITCH |
70 | def_bool n | |
71 | ||
a1a2bdec BS |
72 | config HAVE_XTENSA_GPIO32 |
73 | def_bool n | |
74 | ||
8e1a6dd2 CZ |
75 | menu "Processor type and features" |
76 | ||
77 | choice | |
78 | prompt "Xtensa Processor Configuration" | |
173d6681 | 79 | default XTENSA_VARIANT_FSF |
8e1a6dd2 | 80 | |
173d6681 | 81 | config XTENSA_VARIANT_FSF |
0025427e | 82 | bool "fsf - default (not generic) configuration" |
35f9cd08 | 83 | select MMU |
0025427e CZ |
84 | |
85 | config XTENSA_VARIANT_DC232B | |
86 | bool "dc232b - Diamond 232L Standard Core Rev.B (LE)" | |
35f9cd08 | 87 | select MMU |
a1a2bdec | 88 | select HAVE_XTENSA_GPIO32 |
0025427e | 89 | help |
35f9cd08 | 90 | This variant refers to Tensilica's Diamond 232L Standard core Rev.B (LE). |
000af2c5 | 91 | |
d0b73b48 PD |
92 | config XTENSA_VARIANT_DC233C |
93 | bool "dc233c - Diamond 233L Standard Core Rev.C (LE)" | |
94 | select MMU | |
a1a2bdec | 95 | select HAVE_XTENSA_GPIO32 |
d0b73b48 PD |
96 | help |
97 | This variant refers to Tensilica's Diamond 233L Standard core Rev.C (LE). | |
98 | ||
420ae951 MF |
99 | config XTENSA_VARIANT_CUSTOM |
100 | bool "Custom Xtensa processor configuration" | |
420ae951 MF |
101 | select HAVE_XTENSA_GPIO32 |
102 | help | |
103 | Select this variant to use a custom Xtensa processor configuration. | |
104 | You will be prompted for a processor variant CORENAME. | |
8e1a6dd2 CZ |
105 | endchoice |
106 | ||
420ae951 MF |
107 | config XTENSA_VARIANT_CUSTOM_NAME |
108 | string "Xtensa Processor Custom Core Variant Name" | |
109 | depends on XTENSA_VARIANT_CUSTOM | |
110 | help | |
111 | Provide the name of a custom Xtensa processor variant. | |
112 | This CORENAME selects arch/xtensa/variant/CORENAME. | |
113 | Dont forget you have to select MMU if you have one. | |
114 | ||
115 | config XTENSA_VARIANT_NAME | |
116 | string | |
117 | default "dc232b" if XTENSA_VARIANT_DC232B | |
118 | default "dc233c" if XTENSA_VARIANT_DC233C | |
119 | default "fsf" if XTENSA_VARIANT_FSF | |
420ae951 MF |
120 | default XTENSA_VARIANT_CUSTOM_NAME if XTENSA_VARIANT_CUSTOM |
121 | ||
122 | config XTENSA_VARIANT_MMU | |
123 | bool "Core variant has a Full MMU (TLB, Pages, Protection, etc)" | |
124 | depends on XTENSA_VARIANT_CUSTOM | |
125 | default y | |
de7c1c78 | 126 | select MMU |
420ae951 MF |
127 | help |
128 | Build a Conventional Kernel with full MMU support, | |
129 | ie: it supports a TLB with auto-loading, page protection. | |
130 | ||
9bd46da4 MF |
131 | config XTENSA_VARIANT_HAVE_PERF_EVENTS |
132 | bool "Core variant has Performance Monitor Module" | |
133 | depends on XTENSA_VARIANT_CUSTOM | |
134 | default n | |
135 | help | |
136 | Enable if core variant has Performance Monitor Module with | |
137 | External Registers Interface. | |
138 | ||
139 | If unsure, say N. | |
140 | ||
e4629194 MF |
141 | config XTENSA_FAKE_NMI |
142 | bool "Treat PMM IRQ as NMI" | |
143 | depends on XTENSA_VARIANT_HAVE_PERF_EVENTS | |
144 | default n | |
145 | help | |
146 | If PMM IRQ is the only IRQ at EXCM level it is safe to | |
147 | treat it as NMI, which improves accuracy of profiling. | |
148 | ||
149 | If there are other interrupts at or above PMM IRQ priority level | |
150 | but not above the EXCM level, PMM IRQ still may be treated as NMI, | |
151 | but only if these IRQs are not used. There will be a build warning | |
152 | saying that this is not safe, and a bugcheck if one of these IRQs | |
153 | actually fire. | |
154 | ||
155 | If unsure, say N. | |
156 | ||
8e1a6dd2 CZ |
157 | config XTENSA_UNALIGNED_USER |
158 | bool "Unaligned memory access in use space" | |
35f9cd08 JW |
159 | help |
160 | The Xtensa architecture currently does not handle unaligned | |
161 | memory accesses in hardware but through an exception handler. | |
162 | Per default, unaligned memory accesses are disabled in user space. | |
8e1a6dd2 | 163 | |
35f9cd08 | 164 | Say Y here to enable unaligned memory access in user space. |
8e1a6dd2 | 165 | |
bd96efe1 | 166 | source "kernel/Kconfig.preempt" |
8e1a6dd2 | 167 | |
f615136c MF |
168 | config HAVE_SMP |
169 | bool "System Supports SMP (MX)" | |
de7c1c78 | 170 | depends on XTENSA_VARIANT_CUSTOM |
f615136c MF |
171 | select XTENSA_MX |
172 | help | |
173 | This option is use to indicate that the system-on-a-chip (SOC) | |
174 | supports Multiprocessing. Multiprocessor support implemented above | |
175 | the CPU core definition and currently needs to be selected manually. | |
176 | ||
177 | Multiprocessor support in implemented with external cache and | |
769a12a9 | 178 | interrupt controllers. |
f615136c MF |
179 | |
180 | The MX interrupt distributer adds Interprocessor Interrupts | |
181 | and causes the IRQ numbers to be increased by 4 for devices | |
182 | like the open cores ethernet driver and the serial interface. | |
183 | ||
184 | You still have to select "Enable SMP" to enable SMP on this SOC. | |
185 | ||
186 | config SMP | |
187 | bool "Enable Symmetric multi-processing support" | |
188 | depends on HAVE_SMP | |
f615136c MF |
189 | select GENERIC_SMP_IDLE_THREAD |
190 | help | |
191 | Enabled SMP Software; allows more than one CPU/CORE | |
192 | to be activated during startup. | |
193 | ||
194 | config NR_CPUS | |
195 | depends on SMP | |
196 | int "Maximum number of CPUs (2-32)" | |
197 | range 2 32 | |
198 | default "4" | |
199 | ||
49b424fe MF |
200 | config HOTPLUG_CPU |
201 | bool "Enable CPU hotplug support" | |
202 | depends on SMP | |
203 | help | |
204 | Say Y here to allow turning CPUs off and on. CPUs can be | |
205 | controlled through /sys/devices/system/cpu. | |
206 | ||
207 | Say N if you want to disable CPU hotplug. | |
208 | ||
e85e335f MF |
209 | config INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX |
210 | bool "Initialize Xtensa MMU inside the Linux kernel code" | |
211 | default y | |
212 | help | |
213 | Earlier version initialized the MMU in the exception vector | |
214 | before jumping to _startup in head.S and had an advantage that | |
215 | it was possible to place a software breakpoint at 'reset' and | |
216 | then enter your normal kernel breakpoints once the MMU was mapped | |
217 | to the kernel mappings (0XC0000000). | |
218 | ||
219 | This unfortunately doesn't work for U-Boot and likley also wont | |
220 | work for using KEXEC to have a hot kernel ready for doing a | |
221 | KDUMP. | |
222 | ||
223 | So now the MMU is initialized in head.S but it's necessary to | |
224 | use hardware breakpoints (gdb 'hbreak' cmd) to break at _startup. | |
225 | xt-gdb can't place a Software Breakpoint in the 0XD region prior | |
226 | to mapping the MMU and after mapping even if the area of low memory | |
227 | was mapped gdb wouldn't remove the breakpoint on hitting it as the | |
228 | PC wouldn't match. Since Hardware Breakpoints are recommended for | |
229 | Linux configurations it seems reasonable to just assume they exist | |
230 | and leave this older mechanism for unfortunate souls that choose | |
231 | not to follow Tensilica's recommendation. | |
232 | ||
233 | Selecting this will cause U-Boot to set the KERNEL Load and Entry | |
234 | address at 0x00003000 instead of the mapped std of 0xD0003000. | |
235 | ||
236 | If in doubt, say Y. | |
237 | ||
65559100 MF |
238 | config HIGHMEM |
239 | bool "High Memory Support" | |
8a9de059 | 240 | depends on MMU |
65559100 MF |
241 | help |
242 | Linux can use the full amount of RAM in the system by | |
243 | default. However, the default MMUv2 setup only maps the | |
244 | lowermost 128 MB of memory linearly to the areas starting | |
245 | at 0xd0000000 (cached) and 0xd8000000 (uncached). | |
246 | When there are more than 128 MB memory in the system not | |
247 | all of it can be "permanently mapped" by the kernel. | |
248 | The physical memory that's not permanently mapped is called | |
249 | "high memory". | |
250 | ||
251 | If you are compiling a kernel which will never run on a | |
252 | machine with more than 128 MB total physical RAM, answer | |
253 | N here. | |
254 | ||
255 | If unsure, say Y. | |
256 | ||
9184289c MF |
257 | config FAST_SYSCALL_XTENSA |
258 | bool "Enable fast atomic syscalls" | |
259 | default n | |
260 | help | |
261 | fast_syscall_xtensa is a syscall that can make atomic operations | |
262 | on UP kernel when processor has no s32c1i support. | |
263 | ||
264 | This syscall is deprecated. It may have issues when called with | |
265 | invalid arguments. It is provided only for backwards compatibility. | |
266 | Only enable it if your userspace software requires it. | |
267 | ||
268 | If unsure, say N. | |
269 | ||
270 | config FAST_SYSCALL_SPILL_REGISTERS | |
271 | bool "Enable spill registers syscall" | |
272 | default n | |
273 | help | |
274 | fast_syscall_spill_registers is a syscall that spills all active | |
275 | register windows of a calling userspace task onto its stack. | |
276 | ||
277 | This syscall is deprecated. It may have issues when called with | |
278 | invalid arguments. It is provided only for backwards compatibility. | |
279 | Only enable it if your userspace software requires it. | |
280 | ||
281 | If unsure, say N. | |
282 | ||
8e1a6dd2 CZ |
283 | endmenu |
284 | ||
35f9cd08 JW |
285 | config XTENSA_CALIBRATE_CCOUNT |
286 | def_bool n | |
287 | help | |
288 | On some platforms (XT2000, for example), the CPU clock rate can | |
289 | vary. The frequency can be determined, however, by measuring | |
290 | against a well known, fixed frequency, such as an UART oscillator. | |
291 | ||
292 | config SERIAL_CONSOLE | |
293 | def_bool n | |
294 | ||
35f9cd08 JW |
295 | menu "Bus options" |
296 | ||
297 | config PCI | |
298 | bool "PCI support" | |
299 | default y | |
300 | help | |
301 | Find out whether you have a PCI motherboard. PCI is the name of a | |
302 | bus system, i.e. the way the CPU talks to the other stuff inside | |
303 | your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or | |
304 | VESA. If you have PCI, say Y, otherwise N. | |
305 | ||
306 | source "drivers/pci/Kconfig" | |
307 | ||
35e71f90 CZ |
308 | endmenu |
309 | ||
8e1a6dd2 CZ |
310 | menu "Platform options" |
311 | ||
312 | choice | |
313 | prompt "Xtensa System Type" | |
314 | default XTENSA_PLATFORM_ISS | |
315 | ||
316 | config XTENSA_PLATFORM_ISS | |
317 | bool "ISS" | |
35f9cd08 JW |
318 | select XTENSA_CALIBRATE_CCOUNT |
319 | select SERIAL_CONSOLE | |
8e1a6dd2 CZ |
320 | help |
321 | ISS is an acronym for Tensilica's Instruction Set Simulator. | |
322 | ||
323 | config XTENSA_PLATFORM_XT2000 | |
324 | bool "XT2000" | |
4964527d | 325 | select HAVE_IDE |
8e1a6dd2 CZ |
326 | help |
327 | XT2000 is the name of Tensilica's feature-rich emulation platform. | |
328 | This hardware is capable of running a full Linux distribution. | |
329 | ||
0d456bad MF |
330 | config XTENSA_PLATFORM_XTFPGA |
331 | bool "XTFPGA" | |
61e47e9b | 332 | select ETHOC if ETHERNET |
3932b9ca | 333 | select PLATFORM_WANT_DEFAULT_MEM |
0d456bad | 334 | select SERIAL_CONSOLE |
0d456bad MF |
335 | select XTENSA_CALIBRATE_CCOUNT |
336 | help | |
337 | XTFPGA is the name of Tensilica board family (LX60, LX110, LX200, ML605). | |
338 | This hardware is capable of running a full Linux distribution. | |
339 | ||
8e1a6dd2 CZ |
340 | endchoice |
341 | ||
342 | ||
8e1a6dd2 CZ |
343 | config XTENSA_CPU_CLOCK |
344 | int "CPU clock rate [MHz]" | |
345 | depends on !XTENSA_CALIBRATE_CCOUNT | |
35f9cd08 | 346 | default 16 |
8e1a6dd2 CZ |
347 | |
348 | config GENERIC_CALIBRATE_DELAY | |
349 | bool "Auto calibration of the BogoMIPS value" | |
35f9cd08 | 350 | help |
82300bf4 | 351 | The BogoMIPS value can easily be derived from the CPU frequency. |
8e1a6dd2 CZ |
352 | |
353 | config CMDLINE_BOOL | |
354 | bool "Default bootloader kernel arguments" | |
355 | ||
356 | config CMDLINE | |
357 | string "Initial kernel command string" | |
358 | depends on CMDLINE_BOOL | |
359 | default "console=ttyS0,38400 root=/dev/ram" | |
360 | help | |
361 | On some architectures (EBSA110 and CATS), there is currently no way | |
362 | for the boot loader to pass arguments to the kernel. For these | |
363 | architectures, you should supply some command-line options at build | |
364 | time by entering them here. As a minimum, you should specify the | |
365 | memory size and the root device (e.g., mem=64M root=/dev/nfs). | |
366 | ||
da844a81 MF |
367 | config USE_OF |
368 | bool "Flattened Device Tree support" | |
369 | select OF | |
370 | select OF_EARLY_FLATTREE | |
371 | help | |
372 | Include support for flattened device tree machine descriptions. | |
373 | ||
374 | config BUILTIN_DTB | |
375 | string "DTB to build into the kernel image" | |
376 | depends on OF | |
377 | ||
b6c7e873 VP |
378 | config BLK_DEV_SIMDISK |
379 | tristate "Host file-based simulated block device support" | |
380 | default n | |
7a0684cd | 381 | depends on XTENSA_PLATFORM_ISS && BLOCK |
b6c7e873 VP |
382 | help |
383 | Create block devices that map to files in the host file system. | |
384 | Device binding to host file may be changed at runtime via proc | |
385 | interface provided the device is not in use. | |
386 | ||
387 | config BLK_DEV_SIMDISK_COUNT | |
388 | int "Number of host file-based simulated block devices" | |
389 | range 1 10 | |
390 | depends on BLK_DEV_SIMDISK | |
391 | default 2 | |
392 | help | |
393 | This is the default minimal number of created block devices. | |
394 | Kernel/module parameter 'simdisk_count' may be used to change this | |
395 | value at runtime. More file names (but no more than 10) may be | |
396 | specified as parameters, simdisk_count grows accordingly. | |
397 | ||
398 | config SIMDISK0_FILENAME | |
399 | string "Host filename for the first simulated device" | |
400 | depends on BLK_DEV_SIMDISK = y | |
401 | default "" | |
402 | help | |
403 | Attach a first simdisk to a host file. Conventionally, this file | |
404 | contains a root file system. | |
405 | ||
406 | config SIMDISK1_FILENAME | |
407 | string "Host filename for the second simulated device" | |
408 | depends on BLK_DEV_SIMDISK = y && BLK_DEV_SIMDISK_COUNT != 1 | |
409 | default "" | |
410 | help | |
411 | Another simulated disk in a host file for a buildroot-independent | |
412 | storage. | |
413 | ||
82300bf4 CZ |
414 | source "mm/Kconfig" |
415 | ||
a9df9338 MF |
416 | config FORCE_MAX_ZONEORDER |
417 | int "Maximum zone order" | |
418 | default "11" | |
419 | help | |
420 | The kernel memory allocator divides physically contiguous memory | |
421 | blocks into "zones", where each zone is a power of two number of | |
422 | pages. This option selects the largest power of two that the kernel | |
423 | keeps in the memory allocator. If you need to allocate very large | |
424 | blocks of physically contiguous memory, then you may need to | |
425 | increase this value. | |
426 | ||
427 | This config option is actually maximum order plus one. For example, | |
428 | a value of 11 means that the largest free memory block is 2^10 pages. | |
429 | ||
8e1a6dd2 CZ |
430 | source "drivers/pcmcia/Kconfig" |
431 | ||
3932b9ca MF |
432 | config PLATFORM_WANT_DEFAULT_MEM |
433 | def_bool n | |
434 | ||
435 | config DEFAULT_MEM_START | |
436 | hex "Physical address of the default memory area start" | |
437 | depends on PLATFORM_WANT_DEFAULT_MEM | |
438 | default 0x00000000 if MMU | |
d9eb3cb2 | 439 | default 0x60000000 if !MMU |
3932b9ca MF |
440 | help |
441 | This is a fallback start address of the default memory area, it is | |
442 | used when no physical memory size is passed through DTB or through | |
443 | boot parameter from bootloader. | |
444 | ||
445 | In noMMU configuration the following parameters are derived from it: | |
446 | - kernel load address; | |
447 | - kernel entry point address; | |
448 | - relocatable vectors base address; | |
449 | - uBoot load address; | |
450 | - TASK_SIZE. | |
451 | ||
452 | If unsure, leave the default value here. | |
453 | ||
454 | config DEFAULT_MEM_SIZE | |
455 | hex "Maximal size of the default memory area" | |
456 | depends on PLATFORM_WANT_DEFAULT_MEM | |
457 | default 0x04000000 | |
458 | help | |
459 | This is a fallback size of the default memory area, it is used when | |
460 | no physical memory size is passed through DTB or through boot | |
461 | parameter from bootloader. | |
462 | ||
463 | It's also used for TASK_SIZE calculation in noMMU configuration. | |
464 | ||
465 | If unsure, leave the default value here. | |
466 | ||
4949009e MF |
467 | config XTFPGA_LCD |
468 | bool "Enable XTFPGA LCD driver" | |
469 | depends on XTENSA_PLATFORM_XTFPGA | |
470 | default n | |
471 | help | |
472 | There's a 2x16 LCD on most of XTFPGA boards, kernel may output | |
473 | progress messages there during bootup/shutdown. It may be useful | |
474 | during board bringup. | |
475 | ||
476 | If unsure, say N. | |
477 | ||
478 | config XTFPGA_LCD_BASE_ADDR | |
479 | hex "XTFPGA LCD base address" | |
480 | depends on XTFPGA_LCD | |
481 | default "0x0d0c0000" | |
482 | help | |
483 | Base address of the LCD controller inside KIO region. | |
484 | Different boards from XTFPGA family have LCD controller at different | |
485 | addresses. Please consult prototyping user guide for your board for | |
486 | the correct address. Wrong address here may lead to hardware lockup. | |
487 | ||
488 | config XTFPGA_LCD_8BIT_ACCESS | |
489 | bool "Use 8-bit access to XTFPGA LCD" | |
490 | depends on XTFPGA_LCD | |
491 | default n | |
492 | help | |
493 | LCD may be connected with 4- or 8-bit interface, 8-bit access may | |
494 | only be used with 8-bit interface. Please consult prototyping user | |
495 | guide for your board for the correct interface width. | |
496 | ||
8e1a6dd2 CZ |
497 | endmenu |
498 | ||
cab00891 | 499 | menu "Executable file formats" |
8e1a6dd2 | 500 | |
8e1a6dd2 CZ |
501 | source "fs/Kconfig.binfmt" |
502 | ||
503 | endmenu | |
504 | ||
e00d8b2f MF |
505 | menu "Power management options" |
506 | ||
507 | source "kernel/power/Kconfig" | |
508 | ||
509 | endmenu | |
510 | ||
d5950b43 SR |
511 | source "net/Kconfig" |
512 | ||
8e1a6dd2 CZ |
513 | source "drivers/Kconfig" |
514 | ||
515 | source "fs/Kconfig" | |
516 | ||
8e1a6dd2 CZ |
517 | source "arch/xtensa/Kconfig.debug" |
518 | ||
519 | source "security/Kconfig" | |
520 | ||
521 | source "crypto/Kconfig" | |
522 | ||
523 | source "lib/Kconfig" | |
524 | ||
525 |