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