| .. | .. |
|---|
| 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 | |
|---|