| # SPDX-License-Identifier: GPL-2.0 | |
| # Hexagon configuration | |
| comment "Linux Kernel Configuration for Hexagon" | |
| config HEXAGON | |
| def_bool y | |
| select ARCH_32BIT_OFF_T | |
| select ARCH_HAS_SYNC_DMA_FOR_DEVICE | |
| select ARCH_NO_PREEMPT | |
| select DMA_GLOBAL_POOL | |
| # 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 NEED_SG_DMA_LENGTH | |
| select NO_IOPORT_MAP | |
| select GENERIC_IOMAP | |
| select GENERIC_IOREMAP | |
| select GENERIC_SMP_IDLE_THREAD | |
| select STACKTRACE_SUPPORT | |
| select GENERIC_CLOCKEVENTS_BROADCAST | |
| select LOCK_MM_AND_FIND_VMA | |
| select MODULES_USE_ELF_RELA | |
| select GENERIC_CPU_DEVICES | |
| select ARCH_WANT_LD_ORPHAN_WARN | |
| select TRACE_IRQFLAGS_SUPPORT | |
| 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 GENERIC_CSUM | |
| def_bool y | |
| # | |
| # Use the generic interrupt handling code in kernel/irq/: | |
| # | |
| config GENERIC_IRQ_PROBE | |
| 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 |