162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci# Hexagon configuration 362306a36Sopenharmony_cicomment "Linux Kernel Configuration for Hexagon" 462306a36Sopenharmony_ci 562306a36Sopenharmony_ciconfig HEXAGON 662306a36Sopenharmony_ci def_bool y 762306a36Sopenharmony_ci select ARCH_32BIT_OFF_T 862306a36Sopenharmony_ci select ARCH_HAS_SYNC_DMA_FOR_DEVICE 962306a36Sopenharmony_ci select ARCH_NO_PREEMPT 1062306a36Sopenharmony_ci select DMA_GLOBAL_POOL 1162306a36Sopenharmony_ci # Other pending projects/to-do items. 1262306a36Sopenharmony_ci # select HAVE_REGS_AND_STACK_ACCESS_API 1362306a36Sopenharmony_ci # select HAVE_HW_BREAKPOINT if PERF_EVENTS 1462306a36Sopenharmony_ci # select ARCH_HAS_CPU_IDLE_WAIT 1562306a36Sopenharmony_ci # select GPIOLIB 1662306a36Sopenharmony_ci # select HAVE_CLK 1762306a36Sopenharmony_ci # select GENERIC_PENDING_IRQ if SMP 1862306a36Sopenharmony_ci select GENERIC_ATOMIC64 1962306a36Sopenharmony_ci select HAVE_PERF_EVENTS 2062306a36Sopenharmony_ci # GENERIC_ALLOCATOR is used by dma_alloc_coherent() 2162306a36Sopenharmony_ci select GENERIC_ALLOCATOR 2262306a36Sopenharmony_ci select GENERIC_IRQ_SHOW 2362306a36Sopenharmony_ci select HAVE_ARCH_KGDB 2462306a36Sopenharmony_ci select HAVE_ARCH_TRACEHOOK 2562306a36Sopenharmony_ci select NEED_SG_DMA_LENGTH 2662306a36Sopenharmony_ci select NO_IOPORT_MAP 2762306a36Sopenharmony_ci select GENERIC_IOMAP 2862306a36Sopenharmony_ci select GENERIC_IOREMAP 2962306a36Sopenharmony_ci select GENERIC_SMP_IDLE_THREAD 3062306a36Sopenharmony_ci select STACKTRACE_SUPPORT 3162306a36Sopenharmony_ci select GENERIC_CLOCKEVENTS_BROADCAST 3262306a36Sopenharmony_ci select LOCK_MM_AND_FIND_VMA 3362306a36Sopenharmony_ci select MODULES_USE_ELF_RELA 3462306a36Sopenharmony_ci select GENERIC_CPU_DEVICES 3562306a36Sopenharmony_ci select ARCH_WANT_LD_ORPHAN_WARN 3662306a36Sopenharmony_ci select TRACE_IRQFLAGS_SUPPORT 3762306a36Sopenharmony_ci help 3862306a36Sopenharmony_ci Qualcomm Hexagon is a processor architecture designed for high 3962306a36Sopenharmony_ci performance and low power across a wide variety of applications. 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_ciconfig HEXAGON_PHYS_OFFSET 4262306a36Sopenharmony_ci def_bool y 4362306a36Sopenharmony_ci help 4462306a36Sopenharmony_ci Platforms that don't load the kernel at zero set this. 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ciconfig FRAME_POINTER 4762306a36Sopenharmony_ci def_bool y 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ciconfig LOCKDEP_SUPPORT 5062306a36Sopenharmony_ci def_bool y 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ciconfig EARLY_PRINTK 5362306a36Sopenharmony_ci def_bool y 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ciconfig MMU 5662306a36Sopenharmony_ci def_bool y 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ciconfig GENERIC_CSUM 5962306a36Sopenharmony_ci def_bool y 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci# 6262306a36Sopenharmony_ci# Use the generic interrupt handling code in kernel/irq/: 6362306a36Sopenharmony_ci# 6462306a36Sopenharmony_ciconfig GENERIC_IRQ_PROBE 6562306a36Sopenharmony_ci def_bool y 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ciconfig GENERIC_HWEIGHT 6862306a36Sopenharmony_ci def_bool y 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ciconfig STACKTRACE_SUPPORT 7162306a36Sopenharmony_ci def_bool y 7262306a36Sopenharmony_ci select STACKTRACE 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ciconfig GENERIC_BUG 7562306a36Sopenharmony_ci def_bool y 7662306a36Sopenharmony_ci depends on BUG 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_cimenu "Machine selection" 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_cichoice 8162306a36Sopenharmony_ci prompt "System type" 8262306a36Sopenharmony_ci default HEXAGON_COMET 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ciconfig HEXAGON_COMET 8562306a36Sopenharmony_ci bool "Comet Board" 8662306a36Sopenharmony_ci help 8762306a36Sopenharmony_ci Support for the Comet platform. 8862306a36Sopenharmony_ci 8962306a36Sopenharmony_ciendchoice 9062306a36Sopenharmony_ci 9162306a36Sopenharmony_ciconfig HEXAGON_ARCH_VERSION 9262306a36Sopenharmony_ci int "Architecture version" 9362306a36Sopenharmony_ci default 2 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_ciconfig CMDLINE 9662306a36Sopenharmony_ci string "Default kernel command string" 9762306a36Sopenharmony_ci default "" 9862306a36Sopenharmony_ci help 9962306a36Sopenharmony_ci On some platforms, there is currently no way for the boot loader 10062306a36Sopenharmony_ci to pass arguments to the kernel. For these, you should supply some 10162306a36Sopenharmony_ci command-line options at build time by entering them here. At a 10262306a36Sopenharmony_ci minimum, you should specify the memory size and the root device 10362306a36Sopenharmony_ci (e.g., mem=64M root=/dev/nfs). 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ciconfig SMP 10662306a36Sopenharmony_ci bool "Multi-Processing support" 10762306a36Sopenharmony_ci help 10862306a36Sopenharmony_ci Enables SMP support in the kernel. If unsure, say "Y" 10962306a36Sopenharmony_ci 11062306a36Sopenharmony_ciconfig NR_CPUS 11162306a36Sopenharmony_ci int "Maximum number of CPUs" if SMP 11262306a36Sopenharmony_ci range 2 6 if SMP 11362306a36Sopenharmony_ci default "1" if !SMP 11462306a36Sopenharmony_ci default "6" if SMP 11562306a36Sopenharmony_ci help 11662306a36Sopenharmony_ci This allows you to specify the maximum number of CPUs which this 11762306a36Sopenharmony_ci kernel will support. The maximum supported value is 6 and the 11862306a36Sopenharmony_ci minimum value which makes sense is 2. 11962306a36Sopenharmony_ci 12062306a36Sopenharmony_ci This is purely to save memory - each supported CPU adds 12162306a36Sopenharmony_ci approximately eight kilobytes to the kernel image. 12262306a36Sopenharmony_ci 12362306a36Sopenharmony_cichoice 12462306a36Sopenharmony_ci prompt "Kernel page size" 12562306a36Sopenharmony_ci default PAGE_SIZE_4KB 12662306a36Sopenharmony_ci help 12762306a36Sopenharmony_ci Changes the default page size; use with caution. 12862306a36Sopenharmony_ci 12962306a36Sopenharmony_ciconfig PAGE_SIZE_4KB 13062306a36Sopenharmony_ci bool "4KB" 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_ciconfig PAGE_SIZE_16KB 13362306a36Sopenharmony_ci bool "16KB" 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ciconfig PAGE_SIZE_64KB 13662306a36Sopenharmony_ci bool "64KB" 13762306a36Sopenharmony_ci 13862306a36Sopenharmony_ciconfig PAGE_SIZE_256KB 13962306a36Sopenharmony_ci bool "256KB" 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ciendchoice 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_cisource "kernel/Kconfig.hz" 14462306a36Sopenharmony_ci 14562306a36Sopenharmony_ciendmenu 146