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