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