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