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