123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588 |
- config ZONE_DMA
- def_bool y
- config XTENSA
- def_bool y
- select ARCH_WANT_FRAME_POINTERS
- select ARCH_WANT_IPC_PARSE_VERSION
- select BUILDTIME_EXTABLE_SORT
- select CLONE_BACKWARDS
- select COMMON_CLK
- select GENERIC_ATOMIC64
- select GENERIC_CLOCKEVENTS
- select GENERIC_IRQ_SHOW
- select GENERIC_PCI_IOMAP
- select GENERIC_SCHED_CLOCK
- select HAVE_DEBUG_KMEMLEAK
- select HAVE_DMA_API_DEBUG
- select HAVE_EXIT_THREAD
- select HAVE_FUNCTION_TRACER
- select HAVE_FUTEX_CMPXCHG if !MMU
- select HAVE_HW_BREAKPOINT if PERF_EVENTS
- select HAVE_IRQ_TIME_ACCOUNTING
- select HAVE_MEMBLOCK
- select HAVE_OPROFILE
- select HAVE_PERF_EVENTS
- select IRQ_DOMAIN
- select MODULES_USE_ELF_RELA
- select NO_BOOTMEM
- select PERF_USE_VMALLOC
- select VIRT_TO_BUS
- help
- Xtensa processors are 32-bit RISC machines designed by Tensilica
- primarily for embedded systems. These processors are both
- configurable and extensible. The Linux port to the Xtensa
- architecture supports all processor configurations and extensions,
- with reasonable minimum requirements. The Xtensa Linux project has
- a home page at <http://www.linux-xtensa.org/>.
- config RWSEM_XCHGADD_ALGORITHM
- def_bool y
- config GENERIC_HWEIGHT
- def_bool y
- config ARCH_HAS_ILOG2_U32
- def_bool n
- config ARCH_HAS_ILOG2_U64
- def_bool n
- config NO_IOPORT_MAP
- def_bool n
- config HZ
- int
- default 100
- source "init/Kconfig"
- source "kernel/Kconfig.freezer"
- config LOCKDEP_SUPPORT
- def_bool y
- config STACKTRACE_SUPPORT
- def_bool y
- config TRACE_IRQFLAGS_SUPPORT
- def_bool y
- config MMU
- def_bool n
- config VARIANT_IRQ_SWITCH
- def_bool n
- config HAVE_XTENSA_GPIO32
- def_bool n
- menu "Processor type and features"
- choice
- prompt "Xtensa Processor Configuration"
- default XTENSA_VARIANT_FSF
- config XTENSA_VARIANT_FSF
- bool "fsf - default (not generic) configuration"
- select MMU
- config XTENSA_VARIANT_DC232B
- bool "dc232b - Diamond 232L Standard Core Rev.B (LE)"
- select MMU
- select HAVE_XTENSA_GPIO32
- help
- This variant refers to Tensilica's Diamond 232L Standard core Rev.B (LE).
- config XTENSA_VARIANT_DC233C
- bool "dc233c - Diamond 233L Standard Core Rev.C (LE)"
- select MMU
- select HAVE_XTENSA_GPIO32
- help
- This variant refers to Tensilica's Diamond 233L Standard core Rev.C (LE).
- config XTENSA_VARIANT_CUSTOM
- bool "Custom Xtensa processor configuration"
- select HAVE_XTENSA_GPIO32
- help
- Select this variant to use a custom Xtensa processor configuration.
- You will be prompted for a processor variant CORENAME.
- endchoice
- config XTENSA_VARIANT_CUSTOM_NAME
- string "Xtensa Processor Custom Core Variant Name"
- depends on XTENSA_VARIANT_CUSTOM
- help
- Provide the name of a custom Xtensa processor variant.
- This CORENAME selects arch/xtensa/variant/CORENAME.
- Dont forget you have to select MMU if you have one.
- config XTENSA_VARIANT_NAME
- string
- default "dc232b" if XTENSA_VARIANT_DC232B
- default "dc233c" if XTENSA_VARIANT_DC233C
- default "fsf" if XTENSA_VARIANT_FSF
- default XTENSA_VARIANT_CUSTOM_NAME if XTENSA_VARIANT_CUSTOM
- config XTENSA_VARIANT_MMU
- bool "Core variant has a Full MMU (TLB, Pages, Protection, etc)"
- depends on XTENSA_VARIANT_CUSTOM
- default y
- select MMU
- help
- Build a Conventional Kernel with full MMU support,
- ie: it supports a TLB with auto-loading, page protection.
- config XTENSA_VARIANT_HAVE_PERF_EVENTS
- bool "Core variant has Performance Monitor Module"
- depends on XTENSA_VARIANT_CUSTOM
- default n
- help
- Enable if core variant has Performance Monitor Module with
- External Registers Interface.
- If unsure, say N.
- config XTENSA_FAKE_NMI
- bool "Treat PMM IRQ as NMI"
- depends on XTENSA_VARIANT_HAVE_PERF_EVENTS
- default n
- help
- If PMM IRQ is the only IRQ at EXCM level it is safe to
- treat it as NMI, which improves accuracy of profiling.
- If there are other interrupts at or above PMM IRQ priority level
- but not above the EXCM level, PMM IRQ still may be treated as NMI,
- but only if these IRQs are not used. There will be a build warning
- saying that this is not safe, and a bugcheck if one of these IRQs
- actually fire.
- If unsure, say N.
- config XTENSA_UNALIGNED_USER
- bool "Unaligned memory access in use space"
- help
- The Xtensa architecture currently does not handle unaligned
- memory accesses in hardware but through an exception handler.
- Per default, unaligned memory accesses are disabled in user space.
- Say Y here to enable unaligned memory access in user space.
- source "kernel/Kconfig.preempt"
- config HAVE_SMP
- bool "System Supports SMP (MX)"
- depends on XTENSA_VARIANT_CUSTOM
- select XTENSA_MX
- help
- This option is use to indicate that the system-on-a-chip (SOC)
- supports Multiprocessing. Multiprocessor support implemented above
- the CPU core definition and currently needs to be selected manually.
- Multiprocessor support in implemented with external cache and
- interrupt controllers.
- The MX interrupt distributer adds Interprocessor Interrupts
- and causes the IRQ numbers to be increased by 4 for devices
- like the open cores ethernet driver and the serial interface.
- You still have to select "Enable SMP" to enable SMP on this SOC.
- config SMP
- bool "Enable Symmetric multi-processing support"
- depends on HAVE_SMP
- select GENERIC_SMP_IDLE_THREAD
- help
- Enabled SMP Software; allows more than one CPU/CORE
- to be activated during startup.
- config NR_CPUS
- depends on SMP
- int "Maximum number of CPUs (2-32)"
- range 2 32
- default "4"
- config HOTPLUG_CPU
- bool "Enable CPU hotplug support"
- depends on SMP
- help
- Say Y here to allow turning CPUs off and on. CPUs can be
- controlled through /sys/devices/system/cpu.
- Say N if you want to disable CPU hotplug.
- config INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX
- bool "Initialize Xtensa MMU inside the Linux kernel code"
- depends on !XTENSA_VARIANT_FSF && !XTENSA_VARIANT_DC232B
- default y if XTENSA_VARIANT_DC233C || XTENSA_VARIANT_CUSTOM
- help
- Earlier version initialized the MMU in the exception vector
- before jumping to _startup in head.S and had an advantage that
- it was possible to place a software breakpoint at 'reset' and
- then enter your normal kernel breakpoints once the MMU was mapped
- to the kernel mappings (0XC0000000).
- This unfortunately doesn't work for U-Boot and likley also wont
- work for using KEXEC to have a hot kernel ready for doing a
- KDUMP.
- So now the MMU is initialized in head.S but it's necessary to
- use hardware breakpoints (gdb 'hbreak' cmd) to break at _startup.
- xt-gdb can't place a Software Breakpoint in the 0XD region prior
- to mapping the MMU and after mapping even if the area of low memory
- was mapped gdb wouldn't remove the breakpoint on hitting it as the
- PC wouldn't match. Since Hardware Breakpoints are recommended for
- Linux configurations it seems reasonable to just assume they exist
- and leave this older mechanism for unfortunate souls that choose
- not to follow Tensilica's recommendation.
- Selecting this will cause U-Boot to set the KERNEL Load and Entry
- address at 0x00003000 instead of the mapped std of 0xD0003000.
- If in doubt, say Y.
- config KSEG_PADDR
- hex "Physical address of the KSEG mapping"
- depends on INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX && MMU
- default 0x00000000
- help
- This is the physical address where KSEG is mapped. Please refer to
- the chosen KSEG layout help for the required address alignment.
- Unpacked kernel image (including vectors) must be located completely
- within KSEG.
- Physical memory below this address is not available to linux.
- If unsure, leave the default value here.
- config KERNEL_LOAD_ADDRESS
- hex "Kernel load address"
- default 0x60003000 if !MMU
- default 0x00003000 if MMU && INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX
- default 0xd0003000 if MMU && !INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX
- help
- This is the address where the kernel is loaded.
- It is virtual address for MMUv2 configurations and physical address
- for all other configurations.
- If unsure, leave the default value here.
- config VECTORS_OFFSET
- hex "Kernel vectors offset"
- default 0x00003000
- help
- This is the offset of the kernel image from the relocatable vectors
- base.
- If unsure, leave the default value here.
- choice
- prompt "KSEG layout"
- depends on MMU
- default XTENSA_KSEG_MMU_V2
- config XTENSA_KSEG_MMU_V2
- bool "MMUv2: 128MB cached + 128MB uncached"
- help
- MMUv2 compatible kernel memory map: TLB way 5 maps 128MB starting
- at KSEG_PADDR to 0xd0000000 with cache and to 0xd8000000
- without cache.
- KSEG_PADDR must be aligned to 128MB.
- config XTENSA_KSEG_256M
- bool "256MB cached + 256MB uncached"
- depends on INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX
- help
- TLB way 6 maps 256MB starting at KSEG_PADDR to 0xb0000000
- with cache and to 0xc0000000 without cache.
- KSEG_PADDR must be aligned to 256MB.
- config XTENSA_KSEG_512M
- bool "512MB cached + 512MB uncached"
- depends on INITIALIZE_XTENSA_MMU_INSIDE_VMLINUX
- help
- TLB way 6 maps 512MB starting at KSEG_PADDR to 0xa0000000
- with cache and to 0xc0000000 without cache.
- KSEG_PADDR must be aligned to 256MB.
- endchoice
- config HIGHMEM
- bool "High Memory Support"
- depends on MMU
- help
- Linux can use the full amount of RAM in the system by
- default. However, the default MMUv2 setup only maps the
- lowermost 128 MB of memory linearly to the areas starting
- at 0xd0000000 (cached) and 0xd8000000 (uncached).
- When there are more than 128 MB memory in the system not
- all of it can be "permanently mapped" by the kernel.
- The physical memory that's not permanently mapped is called
- "high memory".
- If you are compiling a kernel which will never run on a
- machine with more than 128 MB total physical RAM, answer
- N here.
- If unsure, say Y.
- config FAST_SYSCALL_XTENSA
- bool "Enable fast atomic syscalls"
- default n
- help
- fast_syscall_xtensa is a syscall that can make atomic operations
- on UP kernel when processor has no s32c1i support.
- This syscall is deprecated. It may have issues when called with
- invalid arguments. It is provided only for backwards compatibility.
- Only enable it if your userspace software requires it.
- If unsure, say N.
- config FAST_SYSCALL_SPILL_REGISTERS
- bool "Enable spill registers syscall"
- default n
- help
- fast_syscall_spill_registers is a syscall that spills all active
- register windows of a calling userspace task onto its stack.
- This syscall is deprecated. It may have issues when called with
- invalid arguments. It is provided only for backwards compatibility.
- Only enable it if your userspace software requires it.
- If unsure, say N.
- endmenu
- config XTENSA_CALIBRATE_CCOUNT
- def_bool n
- help
- On some platforms (XT2000, for example), the CPU clock rate can
- vary. The frequency can be determined, however, by measuring
- against a well known, fixed frequency, such as an UART oscillator.
- config SERIAL_CONSOLE
- def_bool n
- menu "Bus options"
- config PCI
- bool "PCI support"
- default y
- help
- Find out whether you have a PCI motherboard. PCI is the name of a
- bus system, i.e. the way the CPU talks to the other stuff inside
- your box. Other bus systems are ISA, EISA, MicroChannel (MCA) or
- VESA. If you have PCI, say Y, otherwise N.
- source "drivers/pci/Kconfig"
- endmenu
- menu "Platform options"
- choice
- prompt "Xtensa System Type"
- default XTENSA_PLATFORM_ISS
- config XTENSA_PLATFORM_ISS
- bool "ISS"
- select XTENSA_CALIBRATE_CCOUNT
- select SERIAL_CONSOLE
- help
- ISS is an acronym for Tensilica's Instruction Set Simulator.
- config XTENSA_PLATFORM_XT2000
- bool "XT2000"
- select HAVE_IDE
- help
- XT2000 is the name of Tensilica's feature-rich emulation platform.
- This hardware is capable of running a full Linux distribution.
- config XTENSA_PLATFORM_XTFPGA
- bool "XTFPGA"
- select ETHOC if ETHERNET
- select PLATFORM_WANT_DEFAULT_MEM if !MMU
- select SERIAL_CONSOLE
- select XTENSA_CALIBRATE_CCOUNT
- help
- XTFPGA is the name of Tensilica board family (LX60, LX110, LX200, ML605).
- This hardware is capable of running a full Linux distribution.
- endchoice
- config XTENSA_CPU_CLOCK
- int "CPU clock rate [MHz]"
- depends on !XTENSA_CALIBRATE_CCOUNT
- default 16
- config GENERIC_CALIBRATE_DELAY
- bool "Auto calibration of the BogoMIPS value"
- help
- The BogoMIPS value can easily be derived from the CPU frequency.
- config CMDLINE_BOOL
- bool "Default bootloader kernel arguments"
- config CMDLINE
- string "Initial kernel command string"
- depends on CMDLINE_BOOL
- default "console=ttyS0,38400 root=/dev/ram"
- help
- On some architectures (EBSA110 and CATS), there is currently no way
- for the boot loader to pass arguments to the kernel. For these
- architectures, you should supply some command-line options at build
- time by entering them here. As a minimum, you should specify the
- memory size and the root device (e.g., mem=64M root=/dev/nfs).
- config USE_OF
- bool "Flattened Device Tree support"
- select OF
- select OF_EARLY_FLATTREE
- select OF_RESERVED_MEM
- help
- Include support for flattened device tree machine descriptions.
- config BUILTIN_DTB
- string "DTB to build into the kernel image"
- depends on OF
- config BLK_DEV_SIMDISK
- tristate "Host file-based simulated block device support"
- default n
- depends on XTENSA_PLATFORM_ISS && BLOCK
- help
- Create block devices that map to files in the host file system.
- Device binding to host file may be changed at runtime via proc
- interface provided the device is not in use.
- config BLK_DEV_SIMDISK_COUNT
- int "Number of host file-based simulated block devices"
- range 1 10
- depends on BLK_DEV_SIMDISK
- default 2
- help
- This is the default minimal number of created block devices.
- Kernel/module parameter 'simdisk_count' may be used to change this
- value at runtime. More file names (but no more than 10) may be
- specified as parameters, simdisk_count grows accordingly.
- config SIMDISK0_FILENAME
- string "Host filename for the first simulated device"
- depends on BLK_DEV_SIMDISK = y
- default ""
- help
- Attach a first simdisk to a host file. Conventionally, this file
- contains a root file system.
- config SIMDISK1_FILENAME
- string "Host filename for the second simulated device"
- depends on BLK_DEV_SIMDISK = y && BLK_DEV_SIMDISK_COUNT != 1
- default ""
- help
- Another simulated disk in a host file for a buildroot-independent
- storage.
- source "mm/Kconfig"
- config FORCE_MAX_ZONEORDER
- int "Maximum zone order"
- default "11"
- help
- The kernel memory allocator divides physically contiguous memory
- blocks into "zones", where each zone is a power of two number of
- pages. This option selects the largest power of two that the kernel
- keeps in the memory allocator. If you need to allocate very large
- blocks of physically contiguous memory, then you may need to
- increase this value.
- This config option is actually maximum order plus one. For example,
- a value of 11 means that the largest free memory block is 2^10 pages.
- source "drivers/pcmcia/Kconfig"
- config PLATFORM_WANT_DEFAULT_MEM
- def_bool n
- config DEFAULT_MEM_START
- hex "Physical address of the default memory area start"
- depends on PLATFORM_WANT_DEFAULT_MEM
- default 0x00000000 if MMU
- default 0x60000000 if !MMU
- help
- This is the base address of the default memory area.
- Default memory area has platform-specific meaning, it may be used
- for e.g. early cache initialization.
- If unsure, leave the default value here.
- config DEFAULT_MEM_SIZE
- hex "Maximal size of the default memory area"
- depends on PLATFORM_WANT_DEFAULT_MEM
- default 0x04000000
- help
- This is the size of the default memory area.
- Default memory area has platform-specific meaning, it may be used
- for e.g. early cache initialization.
- If unsure, leave the default value here.
- config XTFPGA_LCD
- bool "Enable XTFPGA LCD driver"
- depends on XTENSA_PLATFORM_XTFPGA
- default n
- help
- There's a 2x16 LCD on most of XTFPGA boards, kernel may output
- progress messages there during bootup/shutdown. It may be useful
- during board bringup.
- If unsure, say N.
- config XTFPGA_LCD_BASE_ADDR
- hex "XTFPGA LCD base address"
- depends on XTFPGA_LCD
- default "0x0d0c0000"
- help
- Base address of the LCD controller inside KIO region.
- Different boards from XTFPGA family have LCD controller at different
- addresses. Please consult prototyping user guide for your board for
- the correct address. Wrong address here may lead to hardware lockup.
- config XTFPGA_LCD_8BIT_ACCESS
- bool "Use 8-bit access to XTFPGA LCD"
- depends on XTFPGA_LCD
- default n
- help
- LCD may be connected with 4- or 8-bit interface, 8-bit access may
- only be used with 8-bit interface. Please consult prototyping user
- guide for your board for the correct interface width.
- endmenu
- menu "Executable file formats"
- source "fs/Kconfig.binfmt"
- endmenu
- menu "Power management options"
- source "kernel/power/Kconfig"
- endmenu
- source "net/Kconfig"
- source "drivers/Kconfig"
- source "fs/Kconfig"
- source "arch/xtensa/Kconfig.debug"
- source "security/Kconfig"
- source "crypto/Kconfig"
- source "lib/Kconfig"
|