.. | .. |
---|
1 | 1 | # SPDX-License-Identifier: GPL-2.0 |
---|
2 | | -config ZONE_DMA |
---|
3 | | - def_bool y |
---|
4 | | - |
---|
5 | 2 | config XTENSA |
---|
6 | 3 | def_bool y |
---|
7 | | - select ARCH_HAS_SG_CHAIN |
---|
8 | | - select ARCH_HAS_SYNC_DMA_FOR_CPU |
---|
9 | | - select ARCH_HAS_SYNC_DMA_FOR_DEVICE |
---|
10 | | - select ARCH_NO_COHERENT_DMA_MMAP if !MMU |
---|
| 4 | + select ARCH_32BIT_OFF_T |
---|
| 5 | + select ARCH_HAS_BINFMT_FLAT if !MMU |
---|
| 6 | + select ARCH_HAS_DMA_PREP_COHERENT if MMU |
---|
| 7 | + select ARCH_HAS_SYNC_DMA_FOR_CPU if MMU |
---|
| 8 | + select ARCH_HAS_SYNC_DMA_FOR_DEVICE if MMU |
---|
| 9 | + select ARCH_HAS_DMA_SET_UNCACHED if MMU |
---|
| 10 | + select ARCH_USE_QUEUED_RWLOCKS |
---|
| 11 | + select ARCH_USE_QUEUED_SPINLOCKS |
---|
11 | 12 | select ARCH_WANT_FRAME_POINTERS |
---|
12 | 13 | select ARCH_WANT_IPC_PARSE_VERSION |
---|
13 | | - select BUILDTIME_EXTABLE_SORT |
---|
| 14 | + select BUILDTIME_TABLE_SORT |
---|
14 | 15 | select CLONE_BACKWARDS |
---|
15 | 16 | select COMMON_CLK |
---|
16 | | - select DMA_NONCOHERENT_OPS |
---|
| 17 | + select DMA_REMAP if MMU |
---|
17 | 18 | select GENERIC_ATOMIC64 |
---|
18 | 19 | select GENERIC_CLOCKEVENTS |
---|
19 | 20 | select GENERIC_IRQ_SHOW |
---|
20 | 21 | select GENERIC_PCI_IOMAP |
---|
21 | 22 | select GENERIC_SCHED_CLOCK |
---|
22 | 23 | select GENERIC_STRNCPY_FROM_USER if KASAN |
---|
23 | | - select HAVE_ARCH_KASAN if MMU |
---|
| 24 | + select HAVE_ARCH_AUDITSYSCALL |
---|
| 25 | + select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL |
---|
| 26 | + select HAVE_ARCH_KASAN if MMU && !XIP_KERNEL |
---|
| 27 | + select HAVE_ARCH_SECCOMP_FILTER |
---|
| 28 | + select HAVE_ARCH_TRACEHOOK |
---|
24 | 29 | select HAVE_DEBUG_KMEMLEAK |
---|
25 | 30 | select HAVE_DMA_CONTIGUOUS |
---|
26 | 31 | select HAVE_EXIT_THREAD |
---|
.. | .. |
---|
28 | 33 | select HAVE_FUTEX_CMPXCHG if !MMU && FUTEX |
---|
29 | 34 | select HAVE_HW_BREAKPOINT if PERF_EVENTS |
---|
30 | 35 | select HAVE_IRQ_TIME_ACCOUNTING |
---|
31 | | - select HAVE_MEMBLOCK |
---|
32 | 36 | select HAVE_OPROFILE |
---|
| 37 | + select HAVE_PCI |
---|
33 | 38 | select HAVE_PERF_EVENTS |
---|
34 | 39 | select HAVE_STACKPROTECTOR |
---|
| 40 | + select HAVE_SYSCALL_TRACEPOINTS |
---|
35 | 41 | select IRQ_DOMAIN |
---|
36 | 42 | select MODULES_USE_ELF_RELA |
---|
37 | | - select NO_BOOTMEM |
---|
38 | 43 | select PERF_USE_VMALLOC |
---|
| 44 | + select SET_FS |
---|
39 | 45 | select VIRT_TO_BUS |
---|
40 | 46 | help |
---|
41 | 47 | Xtensa processors are 32-bit RISC machines designed by Tensilica |
---|
.. | .. |
---|
44 | 50 | architecture supports all processor configurations and extensions, |
---|
45 | 51 | with reasonable minimum requirements. The Xtensa Linux project has |
---|
46 | 52 | a home page at <http://www.linux-xtensa.org/>. |
---|
47 | | - |
---|
48 | | -config RWSEM_XCHGADD_ALGORITHM |
---|
49 | | - def_bool y |
---|
50 | 53 | |
---|
51 | 54 | config GENERIC_HWEIGHT |
---|
52 | 55 | def_bool y |
---|
.. | .. |
---|
121 | 124 | help |
---|
122 | 125 | Provide the name of a custom Xtensa processor variant. |
---|
123 | 126 | This CORENAME selects arch/xtensa/variant/CORENAME. |
---|
124 | | - Dont forget you have to select MMU if you have one. |
---|
| 127 | + Don't forget you have to select MMU if you have one. |
---|
125 | 128 | |
---|
126 | 129 | config XTENSA_VARIANT_NAME |
---|
127 | 130 | string |
---|
.. | .. |
---|
166 | 169 | If unsure, say N. |
---|
167 | 170 | |
---|
168 | 171 | config XTENSA_UNALIGNED_USER |
---|
169 | | - bool "Unaligned memory access in use space" |
---|
| 172 | + bool "Unaligned memory access in user space" |
---|
170 | 173 | help |
---|
171 | 174 | The Xtensa architecture currently does not handle unaligned |
---|
172 | 175 | memory accesses in hardware but through an exception handler. |
---|
.. | .. |
---|
179 | 182 | depends on XTENSA_VARIANT_CUSTOM |
---|
180 | 183 | select XTENSA_MX |
---|
181 | 184 | help |
---|
182 | | - This option is use to indicate that the system-on-a-chip (SOC) |
---|
| 185 | + This option is used to indicate that the system-on-a-chip (SOC) |
---|
183 | 186 | supports Multiprocessing. Multiprocessor support implemented above |
---|
184 | 187 | the CPU core definition and currently needs to be selected manually. |
---|
185 | 188 | |
---|
186 | | - Multiprocessor support in implemented with external cache and |
---|
| 189 | + Multiprocessor support is implemented with external cache and |
---|
187 | 190 | interrupt controllers. |
---|
188 | 191 | |
---|
189 | 192 | The MX interrupt distributer adds Interprocessor Interrupts |
---|
.. | .. |
---|
215 | 218 | |
---|
216 | 219 | Say N if you want to disable CPU hotplug. |
---|
217 | 220 | |
---|
| 221 | +config FAST_SYSCALL_XTENSA |
---|
| 222 | + bool "Enable fast atomic syscalls" |
---|
| 223 | + default n |
---|
| 224 | + help |
---|
| 225 | + fast_syscall_xtensa is a syscall that can make atomic operations |
---|
| 226 | + on UP kernel when processor has no s32c1i support. |
---|
| 227 | + |
---|
| 228 | + This syscall is deprecated. It may have issues when called with |
---|
| 229 | + invalid arguments. It is provided only for backwards compatibility. |
---|
| 230 | + Only enable it if your userspace software requires it. |
---|
| 231 | + |
---|
| 232 | + If unsure, say N. |
---|
| 233 | + |
---|
| 234 | +config FAST_SYSCALL_SPILL_REGISTERS |
---|
| 235 | + bool "Enable spill registers syscall" |
---|
| 236 | + default n |
---|
| 237 | + help |
---|
| 238 | + fast_syscall_spill_registers is a syscall that spills all active |
---|
| 239 | + register windows of a calling userspace task onto its stack. |
---|
| 240 | + |
---|
| 241 | + This syscall is deprecated. It may have issues when called with |
---|
| 242 | + invalid arguments. It is provided only for backwards compatibility. |
---|
| 243 | + Only enable it if your userspace software requires it. |
---|
| 244 | + |
---|
| 245 | + If unsure, say N. |
---|
| 246 | + |
---|
| 247 | +config USER_ABI_CALL0 |
---|
| 248 | + bool |
---|
| 249 | + |
---|
| 250 | +choice |
---|
| 251 | + prompt "Userspace ABI" |
---|
| 252 | + default USER_ABI_DEFAULT |
---|
| 253 | + help |
---|
| 254 | + Select supported userspace ABI. |
---|
| 255 | + |
---|
| 256 | + If unsure, choose the default ABI. |
---|
| 257 | + |
---|
| 258 | +config USER_ABI_DEFAULT |
---|
| 259 | + bool "Default ABI only" |
---|
| 260 | + help |
---|
| 261 | + Assume default userspace ABI. For XEA2 cores it is windowed ABI. |
---|
| 262 | + call0 ABI binaries may be run on such kernel, but signal delivery |
---|
| 263 | + will not work correctly for them. |
---|
| 264 | + |
---|
| 265 | +config USER_ABI_CALL0_ONLY |
---|
| 266 | + bool "Call0 ABI only" |
---|
| 267 | + select USER_ABI_CALL0 |
---|
| 268 | + help |
---|
| 269 | + Select this option to support only call0 ABI in userspace. |
---|
| 270 | + Windowed ABI binaries will crash with a segfault caused by |
---|
| 271 | + an illegal instruction exception on the first 'entry' opcode. |
---|
| 272 | + |
---|
| 273 | + Choose this option if you're planning to run only user code |
---|
| 274 | + built with call0 ABI. |
---|
| 275 | + |
---|
| 276 | +config USER_ABI_CALL0_PROBE |
---|
| 277 | + bool "Support both windowed and call0 ABI by probing" |
---|
| 278 | + select USER_ABI_CALL0 |
---|
| 279 | + help |
---|
| 280 | + Select this option to support both windowed and call0 userspace |
---|
| 281 | + ABIs. When enabled all processes are started with PS.WOE disabled |
---|
| 282 | + and a fast user exception handler for an illegal instruction is |
---|
| 283 | + used to turn on PS.WOE bit on the first 'entry' opcode executed by |
---|
| 284 | + the userspace. |
---|
| 285 | + |
---|
| 286 | + This option should be enabled for the kernel that must support |
---|
| 287 | + both call0 and windowed ABIs in userspace at the same time. |
---|
| 288 | + |
---|
| 289 | + Note that Xtensa ISA does not guarantee that entry opcode will |
---|
| 290 | + raise an illegal instruction exception on cores with XEA2 when |
---|
| 291 | + PS.WOE is disabled, check whether the target core supports it. |
---|
| 292 | + |
---|
| 293 | +endchoice |
---|
| 294 | + |
---|
| 295 | +endmenu |
---|
| 296 | + |
---|
| 297 | +config XTENSA_CALIBRATE_CCOUNT |
---|
| 298 | + def_bool n |
---|
| 299 | + help |
---|
| 300 | + On some platforms (XT2000, for example), the CPU clock rate can |
---|
| 301 | + vary. The frequency can be determined, however, by measuring |
---|
| 302 | + against a well known, fixed frequency, such as an UART oscillator. |
---|
| 303 | + |
---|
| 304 | +config SERIAL_CONSOLE |
---|
| 305 | + def_bool n |
---|
| 306 | + |
---|
| 307 | +config PLATFORM_HAVE_XIP |
---|
| 308 | + def_bool n |
---|
| 309 | + |
---|
| 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" |
---|
| 318 | + select XTENSA_CALIBRATE_CCOUNT |
---|
| 319 | + select SERIAL_CONSOLE |
---|
| 320 | + help |
---|
| 321 | + ISS is an acronym for Tensilica's Instruction Set Simulator. |
---|
| 322 | + |
---|
| 323 | +config XTENSA_PLATFORM_XT2000 |
---|
| 324 | + bool "XT2000" |
---|
| 325 | + select HAVE_IDE |
---|
| 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 | + |
---|
| 330 | +config XTENSA_PLATFORM_XTFPGA |
---|
| 331 | + bool "XTFPGA" |
---|
| 332 | + select ETHOC if ETHERNET |
---|
| 333 | + select PLATFORM_WANT_DEFAULT_MEM if !MMU |
---|
| 334 | + select SERIAL_CONSOLE |
---|
| 335 | + select XTENSA_CALIBRATE_CCOUNT |
---|
| 336 | + select PLATFORM_HAVE_XIP |
---|
| 337 | + help |
---|
| 338 | + XTFPGA is the name of Tensilica board family (LX60, LX110, LX200, ML605). |
---|
| 339 | + This hardware is capable of running a full Linux distribution. |
---|
| 340 | + |
---|
| 341 | +endchoice |
---|
| 342 | + |
---|
| 343 | +config PLATFORM_NR_IRQS |
---|
| 344 | + int |
---|
| 345 | + default 3 if XTENSA_PLATFORM_XT2000 |
---|
| 346 | + default 0 |
---|
| 347 | + |
---|
| 348 | +config XTENSA_CPU_CLOCK |
---|
| 349 | + int "CPU clock rate [MHz]" |
---|
| 350 | + depends on !XTENSA_CALIBRATE_CCOUNT |
---|
| 351 | + default 16 |
---|
| 352 | + |
---|
| 353 | +config GENERIC_CALIBRATE_DELAY |
---|
| 354 | + bool "Auto calibration of the BogoMIPS value" |
---|
| 355 | + help |
---|
| 356 | + The BogoMIPS value can easily be derived from the CPU frequency. |
---|
| 357 | + |
---|
| 358 | +config CMDLINE_BOOL |
---|
| 359 | + bool "Default bootloader kernel arguments" |
---|
| 360 | + |
---|
| 361 | +config CMDLINE |
---|
| 362 | + string "Initial kernel command string" |
---|
| 363 | + depends on CMDLINE_BOOL |
---|
| 364 | + default "console=ttyS0,38400 root=/dev/ram" |
---|
| 365 | + help |
---|
| 366 | + On some architectures (EBSA110 and CATS), there is currently no way |
---|
| 367 | + for the boot loader to pass arguments to the kernel. For these |
---|
| 368 | + architectures, you should supply some command-line options at build |
---|
| 369 | + time by entering them here. As a minimum, you should specify the |
---|
| 370 | + memory size and the root device (e.g., mem=64M root=/dev/nfs). |
---|
| 371 | + |
---|
| 372 | +config USE_OF |
---|
| 373 | + bool "Flattened Device Tree support" |
---|
| 374 | + select OF |
---|
| 375 | + select OF_EARLY_FLATTREE |
---|
| 376 | + help |
---|
| 377 | + Include support for flattened device tree machine descriptions. |
---|
| 378 | + |
---|
| 379 | +config BUILTIN_DTB_SOURCE |
---|
| 380 | + string "DTB to build into the kernel image" |
---|
| 381 | + depends on OF |
---|
| 382 | + |
---|
| 383 | +config PARSE_BOOTPARAM |
---|
| 384 | + bool "Parse bootparam block" |
---|
| 385 | + default y |
---|
| 386 | + help |
---|
| 387 | + Parse parameters passed to the kernel from the bootloader. It may |
---|
| 388 | + be disabled if the kernel is known to run without the bootloader. |
---|
| 389 | + |
---|
| 390 | + If unsure, say Y. |
---|
| 391 | + |
---|
| 392 | +config BLK_DEV_SIMDISK |
---|
| 393 | + tristate "Host file-based simulated block device support" |
---|
| 394 | + default n |
---|
| 395 | + depends on XTENSA_PLATFORM_ISS && BLOCK |
---|
| 396 | + help |
---|
| 397 | + Create block devices that map to files in the host file system. |
---|
| 398 | + Device binding to host file may be changed at runtime via proc |
---|
| 399 | + interface provided the device is not in use. |
---|
| 400 | + |
---|
| 401 | +config BLK_DEV_SIMDISK_COUNT |
---|
| 402 | + int "Number of host file-based simulated block devices" |
---|
| 403 | + range 1 10 |
---|
| 404 | + depends on BLK_DEV_SIMDISK |
---|
| 405 | + default 2 |
---|
| 406 | + help |
---|
| 407 | + This is the default minimal number of created block devices. |
---|
| 408 | + Kernel/module parameter 'simdisk_count' may be used to change this |
---|
| 409 | + value at runtime. More file names (but no more than 10) may be |
---|
| 410 | + specified as parameters, simdisk_count grows accordingly. |
---|
| 411 | + |
---|
| 412 | +config SIMDISK0_FILENAME |
---|
| 413 | + string "Host filename for the first simulated device" |
---|
| 414 | + depends on BLK_DEV_SIMDISK = y |
---|
| 415 | + default "" |
---|
| 416 | + help |
---|
| 417 | + Attach a first simdisk to a host file. Conventionally, this file |
---|
| 418 | + contains a root file system. |
---|
| 419 | + |
---|
| 420 | +config SIMDISK1_FILENAME |
---|
| 421 | + string "Host filename for the second simulated device" |
---|
| 422 | + depends on BLK_DEV_SIMDISK = y && BLK_DEV_SIMDISK_COUNT != 1 |
---|
| 423 | + default "" |
---|
| 424 | + help |
---|
| 425 | + Another simulated disk in a host file for a buildroot-independent |
---|
| 426 | + storage. |
---|
| 427 | + |
---|
| 428 | +config XTFPGA_LCD |
---|
| 429 | + bool "Enable XTFPGA LCD driver" |
---|
| 430 | + depends on XTENSA_PLATFORM_XTFPGA |
---|
| 431 | + default n |
---|
| 432 | + help |
---|
| 433 | + There's a 2x16 LCD on most of XTFPGA boards, kernel may output |
---|
| 434 | + progress messages there during bootup/shutdown. It may be useful |
---|
| 435 | + during board bringup. |
---|
| 436 | + |
---|
| 437 | + If unsure, say N. |
---|
| 438 | + |
---|
| 439 | +config XTFPGA_LCD_BASE_ADDR |
---|
| 440 | + hex "XTFPGA LCD base address" |
---|
| 441 | + depends on XTFPGA_LCD |
---|
| 442 | + default "0x0d0c0000" |
---|
| 443 | + help |
---|
| 444 | + Base address of the LCD controller inside KIO region. |
---|
| 445 | + Different boards from XTFPGA family have LCD controller at different |
---|
| 446 | + addresses. Please consult prototyping user guide for your board for |
---|
| 447 | + the correct address. Wrong address here may lead to hardware lockup. |
---|
| 448 | + |
---|
| 449 | +config XTFPGA_LCD_8BIT_ACCESS |
---|
| 450 | + bool "Use 8-bit access to XTFPGA LCD" |
---|
| 451 | + depends on XTFPGA_LCD |
---|
| 452 | + default n |
---|
| 453 | + help |
---|
| 454 | + LCD may be connected with 4- or 8-bit interface, 8-bit access may |
---|
| 455 | + only be used with 8-bit interface. Please consult prototyping user |
---|
| 456 | + guide for your board for the correct interface width. |
---|
| 457 | + |
---|
| 458 | +comment "Kernel memory layout" |
---|
| 459 | + |
---|
218 | 460 | config INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX |
---|
219 | 461 | bool "Initialize Xtensa MMU inside the Linux kernel code" |
---|
220 | 462 | depends on !XTENSA_VARIANT_FSF && !XTENSA_VARIANT_DC232B |
---|
.. | .. |
---|
245 | 487 | |
---|
246 | 488 | If in doubt, say Y. |
---|
247 | 489 | |
---|
| 490 | +config XIP_KERNEL |
---|
| 491 | + bool "Kernel Execute-In-Place from ROM" |
---|
| 492 | + depends on PLATFORM_HAVE_XIP |
---|
| 493 | + help |
---|
| 494 | + Execute-In-Place allows the kernel to run from non-volatile storage |
---|
| 495 | + directly addressable by the CPU, such as NOR flash. This saves RAM |
---|
| 496 | + space since the text section of the kernel is not loaded from flash |
---|
| 497 | + to RAM. Read-write sections, such as the data section and stack, |
---|
| 498 | + are still copied to RAM. The XIP kernel is not compressed since |
---|
| 499 | + it has to run directly from flash, so it will take more space to |
---|
| 500 | + store it. The flash address used to link the kernel object files, |
---|
| 501 | + and for storing it, is configuration dependent. Therefore, if you |
---|
| 502 | + say Y here, you must know the proper physical address where to |
---|
| 503 | + store the kernel image depending on your own flash memory usage. |
---|
| 504 | + |
---|
| 505 | + Also note that the make target becomes "make xipImage" rather than |
---|
| 506 | + "make Image" or "make uImage". The final kernel binary to put in |
---|
| 507 | + ROM memory will be arch/xtensa/boot/xipImage. |
---|
| 508 | + |
---|
| 509 | + If unsure, say N. |
---|
| 510 | + |
---|
248 | 511 | config MEMMAP_CACHEATTR |
---|
249 | 512 | hex "Cache attributes for the memory address space" |
---|
250 | 513 | depends on !MMU |
---|
.. | .. |
---|
255 | 518 | region: bits 0..3 -- for addresses 0x00000000..0x1fffffff, |
---|
256 | 519 | bits 4..7 -- for addresses 0x20000000..0x3fffffff, and so on. |
---|
257 | 520 | |
---|
258 | | - Cache attribute values are specific for the MMU type, so e.g. |
---|
259 | | - for region protection MMUs: 2 is cache bypass, 4 is WB cached, |
---|
260 | | - 1 is WT cached, f is illegal. For ful MMU: bit 0 makes it executable, |
---|
261 | | - bit 1 makes it writable, bits 2..3 meaning is 0: cache bypass, |
---|
262 | | - 1: WB cache, 2: WT cache, 3: special (c and e are illegal, f is |
---|
263 | | - reserved). |
---|
| 521 | + Cache attribute values are specific for the MMU type. |
---|
| 522 | + For region protection MMUs: |
---|
| 523 | + 1: WT cached, |
---|
| 524 | + 2: cache bypass, |
---|
| 525 | + 4: WB cached, |
---|
| 526 | + f: illegal. |
---|
| 527 | + For full MMU: |
---|
| 528 | + bit 0: executable, |
---|
| 529 | + bit 1: writable, |
---|
| 530 | + bits 2..3: |
---|
| 531 | + 0: cache bypass, |
---|
| 532 | + 1: WB cache, |
---|
| 533 | + 2: WT cache, |
---|
| 534 | + 3: special (c and e are illegal, f is reserved). |
---|
| 535 | + For MPU: |
---|
| 536 | + 0: illegal, |
---|
| 537 | + 1: WB cache, |
---|
| 538 | + 2: WB, no-write-allocate cache, |
---|
| 539 | + 3: WT cache, |
---|
| 540 | + 4: cache bypass. |
---|
264 | 541 | |
---|
265 | 542 | config KSEG_PADDR |
---|
266 | 543 | hex "Physical address of the KSEG mapping" |
---|
.. | .. |
---|
275 | 552 | |
---|
276 | 553 | If unsure, leave the default value here. |
---|
277 | 554 | |
---|
| 555 | +config KERNEL_VIRTUAL_ADDRESS |
---|
| 556 | + hex "Kernel virtual address" |
---|
| 557 | + depends on MMU && XIP_KERNEL |
---|
| 558 | + default 0xd0003000 |
---|
| 559 | + help |
---|
| 560 | + This is the virtual address where the XIP kernel is mapped. |
---|
| 561 | + XIP kernel may be mapped into KSEG or KIO region, virtual address |
---|
| 562 | + provided here must match kernel load address provided in |
---|
| 563 | + KERNEL_LOAD_ADDRESS. |
---|
| 564 | + |
---|
278 | 565 | config KERNEL_LOAD_ADDRESS |
---|
279 | 566 | hex "Kernel load address" |
---|
280 | 567 | default 0x60003000 if !MMU |
---|
.. | .. |
---|
287 | 574 | |
---|
288 | 575 | If unsure, leave the default value here. |
---|
289 | 576 | |
---|
290 | | -config VECTORS_OFFSET |
---|
291 | | - hex "Kernel vectors offset" |
---|
292 | | - default 0x00003000 |
---|
| 577 | +choice |
---|
| 578 | + prompt "Relocatable vectors location" |
---|
| 579 | + default XTENSA_VECTORS_IN_TEXT |
---|
293 | 580 | help |
---|
294 | | - This is the offset of the kernel image from the relocatable vectors |
---|
295 | | - base. |
---|
| 581 | + Choose whether relocatable vectors are merged into the kernel .text |
---|
| 582 | + or placed separately at runtime. This option does not affect |
---|
| 583 | + configurations without VECBASE register where vectors are always |
---|
| 584 | + placed at their hardware-defined locations. |
---|
| 585 | + |
---|
| 586 | +config XTENSA_VECTORS_IN_TEXT |
---|
| 587 | + bool "Merge relocatable vectors into kernel text" |
---|
| 588 | + depends on !MTD_XIP |
---|
| 589 | + help |
---|
| 590 | + This option puts relocatable vectors into the kernel .text section |
---|
| 591 | + with proper alignment. |
---|
| 592 | + This is a safe choice for most configurations. |
---|
| 593 | + |
---|
| 594 | +config XTENSA_VECTORS_SEPARATE |
---|
| 595 | + bool "Put relocatable vectors at fixed address" |
---|
| 596 | + help |
---|
| 597 | + This option puts relocatable vectors at specific virtual address. |
---|
| 598 | + Vectors are merged with the .init data in the kernel image and |
---|
| 599 | + are copied into their designated location during kernel startup. |
---|
| 600 | + Use it to put vectors into IRAM or out of FLASH on kernels with |
---|
| 601 | + XIP-aware MTD support. |
---|
| 602 | + |
---|
| 603 | +endchoice |
---|
| 604 | + |
---|
| 605 | +config VECTORS_ADDR |
---|
| 606 | + hex "Kernel vectors virtual address" |
---|
| 607 | + default 0x00000000 |
---|
| 608 | + depends on XTENSA_VECTORS_SEPARATE |
---|
| 609 | + help |
---|
| 610 | + This is the virtual address of the (relocatable) vectors base. |
---|
| 611 | + It must be within KSEG if MMU is used. |
---|
| 612 | + |
---|
| 613 | +config XIP_DATA_ADDR |
---|
| 614 | + hex "XIP kernel data virtual address" |
---|
| 615 | + depends on XIP_KERNEL |
---|
| 616 | + default 0x00000000 |
---|
| 617 | + help |
---|
| 618 | + This is the virtual address where XIP kernel data is copied. |
---|
| 619 | + It must be within KSEG if MMU is used. |
---|
| 620 | + |
---|
| 621 | +config PLATFORM_WANT_DEFAULT_MEM |
---|
| 622 | + def_bool n |
---|
| 623 | + |
---|
| 624 | +config DEFAULT_MEM_START |
---|
| 625 | + hex |
---|
| 626 | + prompt "PAGE_OFFSET/PHYS_OFFSET" if !MMU && PLATFORM_WANT_DEFAULT_MEM |
---|
| 627 | + default 0x60000000 if PLATFORM_WANT_DEFAULT_MEM |
---|
| 628 | + default 0x00000000 |
---|
| 629 | + help |
---|
| 630 | + This is the base address used for both PAGE_OFFSET and PHYS_OFFSET |
---|
| 631 | + in noMMU configurations. |
---|
296 | 632 | |
---|
297 | 633 | If unsure, leave the default value here. |
---|
298 | 634 | |
---|
.. | .. |
---|
346 | 682 | |
---|
347 | 683 | If unsure, say Y. |
---|
348 | 684 | |
---|
349 | | -config FAST_SYSCALL_XTENSA |
---|
350 | | - bool "Enable fast atomic syscalls" |
---|
351 | | - default n |
---|
352 | | - help |
---|
353 | | - fast_syscall_xtensa is a syscall that can make atomic operations |
---|
354 | | - on UP kernel when processor has no s32c1i support. |
---|
355 | | - |
---|
356 | | - This syscall is deprecated. It may have issues when called with |
---|
357 | | - invalid arguments. It is provided only for backwards compatibility. |
---|
358 | | - Only enable it if your userspace software requires it. |
---|
359 | | - |
---|
360 | | - If unsure, say N. |
---|
361 | | - |
---|
362 | | -config FAST_SYSCALL_SPILL_REGISTERS |
---|
363 | | - bool "Enable spill registers syscall" |
---|
364 | | - default n |
---|
365 | | - help |
---|
366 | | - fast_syscall_spill_registers is a syscall that spills all active |
---|
367 | | - register windows of a calling userspace task onto its stack. |
---|
368 | | - |
---|
369 | | - This syscall is deprecated. It may have issues when called with |
---|
370 | | - invalid arguments. It is provided only for backwards compatibility. |
---|
371 | | - Only enable it if your userspace software requires it. |
---|
372 | | - |
---|
373 | | - If unsure, say N. |
---|
374 | | - |
---|
375 | | -endmenu |
---|
376 | | - |
---|
377 | | -config XTENSA_CALIBRATE_CCOUNT |
---|
378 | | - def_bool n |
---|
379 | | - help |
---|
380 | | - On some platforms (XT2000, for example), the CPU clock rate can |
---|
381 | | - vary. The frequency can be determined, however, by measuring |
---|
382 | | - against a well known, fixed frequency, such as an UART oscillator. |
---|
383 | | - |
---|
384 | | -config SERIAL_CONSOLE |
---|
385 | | - def_bool n |
---|
386 | | - |
---|
387 | | -menu "Bus options" |
---|
388 | | - |
---|
389 | | -config PCI |
---|
390 | | - bool "PCI support" |
---|
391 | | - default y |
---|
392 | | - help |
---|
393 | | - Find out whether you have a PCI motherboard. PCI is the name of a |
---|
394 | | - bus system, i.e. the way the CPU talks to the other stuff inside |
---|
395 | | - your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or |
---|
396 | | - VESA. If you have PCI, say Y, otherwise N. |
---|
397 | | - |
---|
398 | | -source "drivers/pci/Kconfig" |
---|
399 | | - |
---|
400 | | -endmenu |
---|
401 | | - |
---|
402 | | -menu "Platform options" |
---|
403 | | - |
---|
404 | | -choice |
---|
405 | | - prompt "Xtensa System Type" |
---|
406 | | - default XTENSA_PLATFORM_ISS |
---|
407 | | - |
---|
408 | | -config XTENSA_PLATFORM_ISS |
---|
409 | | - bool "ISS" |
---|
410 | | - select XTENSA_CALIBRATE_CCOUNT |
---|
411 | | - select SERIAL_CONSOLE |
---|
412 | | - help |
---|
413 | | - ISS is an acronym for Tensilica's Instruction Set Simulator. |
---|
414 | | - |
---|
415 | | -config XTENSA_PLATFORM_XT2000 |
---|
416 | | - bool "XT2000" |
---|
417 | | - select HAVE_IDE |
---|
418 | | - help |
---|
419 | | - XT2000 is the name of Tensilica's feature-rich emulation platform. |
---|
420 | | - This hardware is capable of running a full Linux distribution. |
---|
421 | | - |
---|
422 | | -config XTENSA_PLATFORM_XTFPGA |
---|
423 | | - bool "XTFPGA" |
---|
424 | | - select ETHOC if ETHERNET |
---|
425 | | - select PLATFORM_WANT_DEFAULT_MEM if !MMU |
---|
426 | | - select SERIAL_CONSOLE |
---|
427 | | - select XTENSA_CALIBRATE_CCOUNT |
---|
428 | | - help |
---|
429 | | - XTFPGA is the name of Tensilica board family (LX60, LX110, LX200, ML605). |
---|
430 | | - This hardware is capable of running a full Linux distribution. |
---|
431 | | - |
---|
432 | | -endchoice |
---|
433 | | - |
---|
434 | | -config PLATFORM_NR_IRQS |
---|
435 | | - int |
---|
436 | | - default 3 if XTENSA_PLATFORM_XT2000 |
---|
437 | | - default 0 |
---|
438 | | - |
---|
439 | | -config XTENSA_CPU_CLOCK |
---|
440 | | - int "CPU clock rate [MHz]" |
---|
441 | | - depends on !XTENSA_CALIBRATE_CCOUNT |
---|
442 | | - default 16 |
---|
443 | | - |
---|
444 | | -config GENERIC_CALIBRATE_DELAY |
---|
445 | | - bool "Auto calibration of the BogoMIPS value" |
---|
446 | | - help |
---|
447 | | - The BogoMIPS value can easily be derived from the CPU frequency. |
---|
448 | | - |
---|
449 | | -config CMDLINE_BOOL |
---|
450 | | - bool "Default bootloader kernel arguments" |
---|
451 | | - |
---|
452 | | -config CMDLINE |
---|
453 | | - string "Initial kernel command string" |
---|
454 | | - depends on CMDLINE_BOOL |
---|
455 | | - default "console=ttyS0,38400 root=/dev/ram" |
---|
456 | | - help |
---|
457 | | - On some architectures (EBSA110 and CATS), there is currently no way |
---|
458 | | - for the boot loader to pass arguments to the kernel. For these |
---|
459 | | - architectures, you should supply some command-line options at build |
---|
460 | | - time by entering them here. As a minimum, you should specify the |
---|
461 | | - memory size and the root device (e.g., mem=64M root=/dev/nfs). |
---|
462 | | - |
---|
463 | | -config USE_OF |
---|
464 | | - bool "Flattened Device Tree support" |
---|
465 | | - select OF |
---|
466 | | - select OF_EARLY_FLATTREE |
---|
467 | | - select OF_RESERVED_MEM |
---|
468 | | - help |
---|
469 | | - Include support for flattened device tree machine descriptions. |
---|
470 | | - |
---|
471 | | -config BUILTIN_DTB |
---|
472 | | - string "DTB to build into the kernel image" |
---|
473 | | - depends on OF |
---|
474 | | - |
---|
475 | | -config PARSE_BOOTPARAM |
---|
476 | | - bool "Parse bootparam block" |
---|
477 | | - default y |
---|
478 | | - help |
---|
479 | | - Parse parameters passed to the kernel from the bootloader. It may |
---|
480 | | - be disabled if the kernel is known to run without the bootloader. |
---|
481 | | - |
---|
482 | | - If unsure, say Y. |
---|
483 | | - |
---|
484 | | -config BLK_DEV_SIMDISK |
---|
485 | | - tristate "Host file-based simulated block device support" |
---|
486 | | - default n |
---|
487 | | - depends on XTENSA_PLATFORM_ISS && BLOCK |
---|
488 | | - help |
---|
489 | | - Create block devices that map to files in the host file system. |
---|
490 | | - Device binding to host file may be changed at runtime via proc |
---|
491 | | - interface provided the device is not in use. |
---|
492 | | - |
---|
493 | | -config BLK_DEV_SIMDISK_COUNT |
---|
494 | | - int "Number of host file-based simulated block devices" |
---|
495 | | - range 1 10 |
---|
496 | | - depends on BLK_DEV_SIMDISK |
---|
497 | | - default 2 |
---|
498 | | - help |
---|
499 | | - This is the default minimal number of created block devices. |
---|
500 | | - Kernel/module parameter 'simdisk_count' may be used to change this |
---|
501 | | - value at runtime. More file names (but no more than 10) may be |
---|
502 | | - specified as parameters, simdisk_count grows accordingly. |
---|
503 | | - |
---|
504 | | -config SIMDISK0_FILENAME |
---|
505 | | - string "Host filename for the first simulated device" |
---|
506 | | - depends on BLK_DEV_SIMDISK = y |
---|
507 | | - default "" |
---|
508 | | - help |
---|
509 | | - Attach a first simdisk to a host file. Conventionally, this file |
---|
510 | | - contains a root file system. |
---|
511 | | - |
---|
512 | | -config SIMDISK1_FILENAME |
---|
513 | | - string "Host filename for the second simulated device" |
---|
514 | | - depends on BLK_DEV_SIMDISK = y && BLK_DEV_SIMDISK_COUNT != 1 |
---|
515 | | - default "" |
---|
516 | | - help |
---|
517 | | - Another simulated disk in a host file for a buildroot-independent |
---|
518 | | - storage. |
---|
519 | | - |
---|
520 | 685 | config FORCE_MAX_ZONEORDER |
---|
521 | 686 | int "Maximum zone order" |
---|
522 | 687 | default "11" |
---|
.. | .. |
---|
530 | 695 | |
---|
531 | 696 | This config option is actually maximum order plus one. For example, |
---|
532 | 697 | a value of 11 means that the largest free memory block is 2^10 pages. |
---|
533 | | - |
---|
534 | | -source "drivers/pcmcia/Kconfig" |
---|
535 | | - |
---|
536 | | -config PLATFORM_WANT_DEFAULT_MEM |
---|
537 | | - def_bool n |
---|
538 | | - |
---|
539 | | -config DEFAULT_MEM_START |
---|
540 | | - hex |
---|
541 | | - prompt "PAGE_OFFSET/PHYS_OFFSET" if !MMU && PLATFORM_WANT_DEFAULT_MEM |
---|
542 | | - default 0x60000000 if PLATFORM_WANT_DEFAULT_MEM |
---|
543 | | - default 0x00000000 |
---|
544 | | - help |
---|
545 | | - This is the base address used for both PAGE_OFFSET and PHYS_OFFSET |
---|
546 | | - in noMMU configurations. |
---|
547 | | - |
---|
548 | | - If unsure, leave the default value here. |
---|
549 | | - |
---|
550 | | -config XTFPGA_LCD |
---|
551 | | - bool "Enable XTFPGA LCD driver" |
---|
552 | | - depends on XTENSA_PLATFORM_XTFPGA |
---|
553 | | - default n |
---|
554 | | - help |
---|
555 | | - There's a 2x16 LCD on most of XTFPGA boards, kernel may output |
---|
556 | | - progress messages there during bootup/shutdown. It may be useful |
---|
557 | | - during board bringup. |
---|
558 | | - |
---|
559 | | - If unsure, say N. |
---|
560 | | - |
---|
561 | | -config XTFPGA_LCD_BASE_ADDR |
---|
562 | | - hex "XTFPGA LCD base address" |
---|
563 | | - depends on XTFPGA_LCD |
---|
564 | | - default "0x0d0c0000" |
---|
565 | | - help |
---|
566 | | - Base address of the LCD controller inside KIO region. |
---|
567 | | - Different boards from XTFPGA family have LCD controller at different |
---|
568 | | - addresses. Please consult prototyping user guide for your board for |
---|
569 | | - the correct address. Wrong address here may lead to hardware lockup. |
---|
570 | | - |
---|
571 | | -config XTFPGA_LCD_8BIT_ACCESS |
---|
572 | | - bool "Use 8-bit access to XTFPGA LCD" |
---|
573 | | - depends on XTFPGA_LCD |
---|
574 | | - default n |
---|
575 | | - help |
---|
576 | | - LCD may be connected with 4- or 8-bit interface, 8-bit access may |
---|
577 | | - only be used with 8-bit interface. Please consult prototyping user |
---|
578 | | - guide for your board for the correct interface width. |
---|
579 | 698 | |
---|
580 | 699 | endmenu |
---|
581 | 700 | |
---|