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