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