| # SPDX-License-Identifier: GPL-2.0 |
| # Hexagon configuration |
| comment "Linux Kernel Configuration for Hexagon" |
| |
| config HEXAGON |
| def_bool y |
| select ARCH_HAS_SYNC_DMA_FOR_DEVICE |
| select ARCH_NO_PREEMPT |
| select HAVE_OPROFILE |
| # Other pending projects/to-do items. |
| # select HAVE_REGS_AND_STACK_ACCESS_API |
| # select HAVE_HW_BREAKPOINT if PERF_EVENTS |
| # select ARCH_HAS_CPU_IDLE_WAIT |
| # select GPIOLIB |
| # select HAVE_CLK |
| # select GENERIC_PENDING_IRQ if SMP |
| select GENERIC_ATOMIC64 |
| select HAVE_PERF_EVENTS |
| # GENERIC_ALLOCATOR is used by dma_alloc_coherent() |
| select GENERIC_ALLOCATOR |
| select GENERIC_IRQ_SHOW |
| select HAVE_ARCH_KGDB |
| select HAVE_ARCH_TRACEHOOK |
| select ARCH_DISCARD_MEMBLOCK |
| select NEED_SG_DMA_LENGTH |
| select NO_IOPORT_MAP |
| select GENERIC_IOMAP |
| select GENERIC_SMP_IDLE_THREAD |
| select STACKTRACE_SUPPORT |
| select GENERIC_CLOCKEVENTS |
| select GENERIC_CLOCKEVENTS_BROADCAST |
| select MODULES_USE_ELF_RELA |
| select GENERIC_CPU_DEVICES |
| ---help--- |
| Qualcomm Hexagon is a processor architecture designed for high |
| performance and low power across a wide variety of applications. |
| |
| config HEXAGON_PHYS_OFFSET |
| def_bool y |
| ---help--- |
| Platforms that don't load the kernel at zero set this. |
| |
| config FRAME_POINTER |
| def_bool y |
| |
| config LOCKDEP_SUPPORT |
| def_bool y |
| |
| config EARLY_PRINTK |
| def_bool y |
| |
| config MMU |
| def_bool y |
| |
| config TRACE_IRQFLAGS_SUPPORT |
| def_bool y |
| |
| config GENERIC_CSUM |
| def_bool y |
| |
| # |
| # Use the generic interrupt handling code in kernel/irq/: |
| # |
| config GENERIC_IRQ_PROBE |
| def_bool y |
| |
| config RWSEM_GENERIC_SPINLOCK |
| def_bool n |
| |
| config RWSEM_XCHGADD_ALGORITHM |
| def_bool y |
| |
| config GENERIC_HWEIGHT |
| def_bool y |
| |
| config STACKTRACE_SUPPORT |
| def_bool y |
| select STACKTRACE |
| |
| config GENERIC_BUG |
| def_bool y |
| depends on BUG |
| |
| menu "Machine selection" |
| |
| choice |
| prompt "System type" |
| default HEXAGON_COMET |
| |
| config HEXAGON_COMET |
| bool "Comet Board" |
| ---help--- |
| Support for the Comet platform. |
| |
| endchoice |
| |
| config HEXAGON_ARCH_VERSION |
| int "Architecture version" |
| default 2 |
| |
| config CMDLINE |
| string "Default kernel command string" |
| default "" |
| help |
| On some platforms, there is currently no way for the boot loader |
| to pass arguments to the kernel. For these, you should supply some |
| command-line options at build time by entering them here. At a |
| minimum, you should specify the memory size and the root device |
| (e.g., mem=64M root=/dev/nfs). |
| |
| config SMP |
| bool "Multi-Processing support" |
| ---help--- |
| Enables SMP support in the kernel. If unsure, say "Y" |
| |
| config NR_CPUS |
| int "Maximum number of CPUs" if SMP |
| range 2 6 if SMP |
| default "1" if !SMP |
| default "6" if SMP |
| ---help--- |
| This allows you to specify the maximum number of CPUs which this |
| kernel will support. The maximum supported value is 6 and the |
| minimum value which makes sense is 2. |
| |
| This is purely to save memory - each supported CPU adds |
| approximately eight kilobytes to the kernel image. |
| |
| choice |
| prompt "Kernel page size" |
| default PAGE_SIZE_4KB |
| ---help--- |
| Changes the default page size; use with caution. |
| |
| config PAGE_SIZE_4KB |
| bool "4KB" |
| |
| config PAGE_SIZE_16KB |
| bool "16KB" |
| |
| config PAGE_SIZE_64KB |
| bool "64KB" |
| |
| config PAGE_SIZE_256KB |
| bool "256KB" |
| |
| endchoice |
| |
| source "kernel/Kconfig.hz" |
| |
| endmenu |