1# SPDX-License-Identifier: GPL-2.0 2# Hexagon configuration 3comment "Linux Kernel Configuration for Hexagon" 4 5config HEXAGON 6 def_bool y 7 select ARCH_32BIT_OFF_T 8 select ARCH_HAS_SYNC_DMA_FOR_DEVICE 9 select ARCH_NO_PREEMPT 10 # Other pending projects/to-do items. 11 # select HAVE_REGS_AND_STACK_ACCESS_API 12 # select HAVE_HW_BREAKPOINT if PERF_EVENTS 13 # select ARCH_HAS_CPU_IDLE_WAIT 14 # select GPIOLIB 15 # select HAVE_CLK 16 # select GENERIC_PENDING_IRQ if SMP 17 select GENERIC_ATOMIC64 18 select HAVE_PERF_EVENTS 19 # GENERIC_ALLOCATOR is used by dma_alloc_coherent() 20 select GENERIC_ALLOCATOR 21 select GENERIC_IRQ_SHOW 22 select HAVE_ARCH_KGDB 23 select HAVE_ARCH_TRACEHOOK 24 select NEED_SG_DMA_LENGTH 25 select NO_IOPORT_MAP 26 select GENERIC_IOMAP 27 select GENERIC_SMP_IDLE_THREAD 28 select STACKTRACE_SUPPORT 29 select GENERIC_CLOCKEVENTS_BROADCAST 30 select MODULES_USE_ELF_RELA 31 select GENERIC_CPU_DEVICES 32 select SET_FS 33 help 34 Qualcomm Hexagon is a processor architecture designed for high 35 performance and low power across a wide variety of applications. 36 37config HEXAGON_PHYS_OFFSET 38 def_bool y 39 help 40 Platforms that don't load the kernel at zero set this. 41 42config FRAME_POINTER 43 def_bool y 44 45config LOCKDEP_SUPPORT 46 def_bool y 47 48config EARLY_PRINTK 49 def_bool y 50 51config MMU 52 def_bool y 53 54config TRACE_IRQFLAGS_SUPPORT 55 def_bool y 56 57config GENERIC_CSUM 58 def_bool y 59 60# 61# Use the generic interrupt handling code in kernel/irq/: 62# 63config GENERIC_IRQ_PROBE 64 def_bool y 65 66config GENERIC_HWEIGHT 67 def_bool y 68 69config STACKTRACE_SUPPORT 70 def_bool y 71 select STACKTRACE 72 73config GENERIC_BUG 74 def_bool y 75 depends on BUG 76 77menu "Machine selection" 78 79choice 80 prompt "System type" 81 default HEXAGON_COMET 82 83config HEXAGON_COMET 84 bool "Comet Board" 85 help 86 Support for the Comet platform. 87 88endchoice 89 90config HEXAGON_ARCH_VERSION 91 int "Architecture version" 92 default 2 93 94config CMDLINE 95 string "Default kernel command string" 96 default "" 97 help 98 On some platforms, there is currently no way for the boot loader 99 to pass arguments to the kernel. For these, you should supply some 100 command-line options at build time by entering them here. At a 101 minimum, you should specify the memory size and the root device 102 (e.g., mem=64M root=/dev/nfs). 103 104config SMP 105 bool "Multi-Processing support" 106 help 107 Enables SMP support in the kernel. If unsure, say "Y" 108 109config NR_CPUS 110 int "Maximum number of CPUs" if SMP 111 range 2 6 if SMP 112 default "1" if !SMP 113 default "6" if SMP 114 help 115 This allows you to specify the maximum number of CPUs which this 116 kernel will support. The maximum supported value is 6 and the 117 minimum value which makes sense is 2. 118 119 This is purely to save memory - each supported CPU adds 120 approximately eight kilobytes to the kernel image. 121 122choice 123 prompt "Kernel page size" 124 default PAGE_SIZE_4KB 125 help 126 Changes the default page size; use with caution. 127 128config PAGE_SIZE_4KB 129 bool "4KB" 130 131config PAGE_SIZE_16KB 132 bool "16KB" 133 134config PAGE_SIZE_64KB 135 bool "64KB" 136 137config PAGE_SIZE_256KB 138 bool "256KB" 139 140endchoice 141 142source "kernel/Kconfig.hz" 143 144endmenu 145