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 HAVE_OPROFILE 8 # Other pending projects/to-do items. 9 # select HAVE_REGS_AND_STACK_ACCESS_API 10 # select HAVE_HW_BREAKPOINT if PERF_EVENTS 11 # select ARCH_HAS_CPU_IDLE_WAIT 12 # select GPIOLIB 13 # select HAVE_CLK 14 # select GENERIC_PENDING_IRQ if SMP 15 select GENERIC_ATOMIC64 16 select HAVE_PERF_EVENTS 17 # GENERIC_ALLOCATOR is used by dma_alloc_coherent() 18 select GENERIC_ALLOCATOR 19 select GENERIC_IRQ_SHOW 20 select HAVE_ARCH_KGDB 21 select HAVE_ARCH_TRACEHOOK 22 select NO_IOPORT_MAP 23 select GENERIC_IOMAP 24 select GENERIC_SMP_IDLE_THREAD 25 select STACKTRACE_SUPPORT 26 select GENERIC_CLOCKEVENTS 27 select GENERIC_CLOCKEVENTS_BROADCAST 28 select MODULES_USE_ELF_RELA 29 select GENERIC_CPU_DEVICES 30 ---help--- 31 Qualcomm Hexagon is a processor architecture designed for high 32 performance and low power across a wide variety of applications. 33 34config HEXAGON_PHYS_OFFSET 35 def_bool y 36 ---help--- 37 Platforms that don't load the kernel at zero set this. 38 39config FRAME_POINTER 40 def_bool y 41 42config LOCKDEP_SUPPORT 43 def_bool y 44 45config PCI 46 def_bool n 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 NEED_SG_DMA_LENGTH 67 def_bool y 68 69config RWSEM_GENERIC_SPINLOCK 70 def_bool n 71 72config RWSEM_XCHGADD_ALGORITHM 73 def_bool y 74 75config GENERIC_HWEIGHT 76 def_bool y 77 78config STACKTRACE_SUPPORT 79 def_bool y 80 select STACKTRACE 81 82config GENERIC_BUG 83 def_bool y 84 depends on BUG 85 86menu "Machine selection" 87 88choice 89 prompt "System type" 90 default HEXAGON_COMET 91 92config HEXAGON_COMET 93 bool "Comet Board" 94 ---help--- 95 Support for the Comet platform. 96 97endchoice 98 99config HEXAGON_ARCH_VERSION 100 int "Architecture version" 101 default 2 102 103config CMDLINE 104 string "Default kernel command string" 105 default "" 106 help 107 On some platforms, there is currently no way for the boot loader 108 to pass arguments to the kernel. For these, you should supply some 109 command-line options at build time by entering them here. At a 110 minimum, you should specify the memory size and the root device 111 (e.g., mem=64M root=/dev/nfs). 112 113config SMP 114 bool "Multi-Processing support" 115 ---help--- 116 Enables SMP support in the kernel. If unsure, say "Y" 117 118config NR_CPUS 119 int "Maximum number of CPUs" if SMP 120 range 2 6 if SMP 121 default "1" if !SMP 122 default "6" if SMP 123 ---help--- 124 This allows you to specify the maximum number of CPUs which this 125 kernel will support. The maximum supported value is 6 and the 126 minimum value which makes sense is 2. 127 128 This is purely to save memory - each supported CPU adds 129 approximately eight kilobytes to the kernel image. 130 131choice 132 prompt "Kernel page size" 133 default PAGE_SIZE_4KB 134 ---help--- 135 Changes the default page size; use with caution. 136 137config PAGE_SIZE_4KB 138 bool "4KB" 139 140config PAGE_SIZE_16KB 141 bool "16KB" 142 143config PAGE_SIZE_64KB 144 bool "64KB" 145 146config PAGE_SIZE_256KB 147 bool "256KB" 148 149endchoice 150 151source "mm/Kconfig" 152 153source "kernel/Kconfig.hz" 154 155endmenu 156 157source "init/Kconfig" 158source "kernel/Kconfig.freezer" 159source "drivers/Kconfig" 160source "fs/Kconfig" 161 162menu "Executable File Formats" 163source "fs/Kconfig.binfmt" 164endmenu 165 166source "net/Kconfig" 167source "security/Kconfig" 168source "crypto/Kconfig" 169source "lib/Kconfig" 170 171menu "Kernel hacking" 172source "lib/Kconfig.debug" 173endmenu 174