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