# SPDX-License-Identifier: GPL-2.0 
 | 
# Hexagon configuration 
 | 
comment "Linux Kernel Configuration for Hexagon" 
 | 
  
 | 
config HEXAGON 
 | 
    def_bool y 
 | 
    select ARCH_NO_PREEMPT 
 | 
    select HAVE_OPROFILE 
 | 
    # Other pending projects/to-do items. 
 | 
    # select HAVE_REGS_AND_STACK_ACCESS_API 
 | 
    # select HAVE_HW_BREAKPOINT if PERF_EVENTS 
 | 
    # select ARCH_HAS_CPU_IDLE_WAIT 
 | 
    # select GPIOLIB 
 | 
    # select HAVE_CLK 
 | 
    # select GENERIC_PENDING_IRQ if SMP 
 | 
    select GENERIC_ATOMIC64 
 | 
    select HAVE_PERF_EVENTS 
 | 
    # GENERIC_ALLOCATOR is used by dma_alloc_coherent() 
 | 
    select GENERIC_ALLOCATOR 
 | 
    select GENERIC_IRQ_SHOW 
 | 
    select HAVE_ARCH_KGDB 
 | 
    select HAVE_ARCH_TRACEHOOK 
 | 
    select NEED_SG_DMA_LENGTH 
 | 
    select NO_IOPORT_MAP 
 | 
    select GENERIC_IOMAP 
 | 
    select GENERIC_SMP_IDLE_THREAD 
 | 
    select STACKTRACE_SUPPORT 
 | 
    select GENERIC_CLOCKEVENTS 
 | 
    select GENERIC_CLOCKEVENTS_BROADCAST 
 | 
    select MODULES_USE_ELF_RELA 
 | 
    select GENERIC_CPU_DEVICES 
 | 
    ---help--- 
 | 
      Qualcomm Hexagon is a processor architecture designed for high 
 | 
      performance and low power across a wide variety of applications. 
 | 
  
 | 
config HEXAGON_PHYS_OFFSET 
 | 
    def_bool y 
 | 
    ---help--- 
 | 
      Platforms that don't load the kernel at zero set this. 
 | 
  
 | 
config FRAME_POINTER 
 | 
    def_bool y 
 | 
  
 | 
config LOCKDEP_SUPPORT 
 | 
    def_bool y 
 | 
  
 | 
config PCI 
 | 
    def_bool n 
 | 
  
 | 
config EARLY_PRINTK 
 | 
    def_bool y 
 | 
  
 | 
config MMU 
 | 
    def_bool y 
 | 
  
 | 
config TRACE_IRQFLAGS_SUPPORT 
 | 
    def_bool y 
 | 
  
 | 
config GENERIC_CSUM 
 | 
    def_bool y 
 | 
  
 | 
# 
 | 
# Use the generic interrupt handling code in kernel/irq/: 
 | 
# 
 | 
config GENERIC_IRQ_PROBE 
 | 
    def_bool y 
 | 
  
 | 
config RWSEM_GENERIC_SPINLOCK 
 | 
    def_bool n 
 | 
  
 | 
config RWSEM_XCHGADD_ALGORITHM 
 | 
    def_bool y 
 | 
  
 | 
config GENERIC_HWEIGHT 
 | 
    def_bool y 
 | 
  
 | 
config STACKTRACE_SUPPORT 
 | 
    def_bool y 
 | 
    select STACKTRACE 
 | 
  
 | 
config GENERIC_BUG 
 | 
    def_bool y 
 | 
    depends on BUG 
 | 
  
 | 
menu "Machine selection" 
 | 
  
 | 
choice 
 | 
    prompt "System type" 
 | 
    default HEXAGON_COMET 
 | 
  
 | 
config HEXAGON_COMET 
 | 
    bool "Comet Board" 
 | 
    ---help--- 
 | 
      Support for the Comet platform. 
 | 
  
 | 
endchoice 
 | 
  
 | 
config HEXAGON_ARCH_VERSION 
 | 
    int "Architecture version" 
 | 
    default 2 
 | 
  
 | 
config CMDLINE 
 | 
    string "Default kernel command string" 
 | 
    default "" 
 | 
    help 
 | 
      On some platforms, there is currently no way for the boot loader 
 | 
      to pass arguments to the kernel. For these, you should supply some 
 | 
      command-line options at build time by entering them here.  At a 
 | 
      minimum, you should specify the memory size and the root device 
 | 
      (e.g., mem=64M root=/dev/nfs). 
 | 
  
 | 
config SMP 
 | 
    bool "Multi-Processing support" 
 | 
    ---help--- 
 | 
      Enables SMP support in the kernel.  If unsure, say "Y" 
 | 
  
 | 
config NR_CPUS 
 | 
    int "Maximum number of CPUs" if SMP 
 | 
    range 2 6 if SMP 
 | 
    default "1" if !SMP 
 | 
    default "6" if SMP 
 | 
    ---help--- 
 | 
      This allows you to specify the maximum number of CPUs which this 
 | 
      kernel will support.  The maximum supported value is 6 and the 
 | 
      minimum value which makes sense is 2. 
 | 
  
 | 
      This is purely to save memory - each supported CPU adds 
 | 
      approximately eight kilobytes to the kernel image. 
 | 
  
 | 
choice 
 | 
    prompt "Kernel page size" 
 | 
    default PAGE_SIZE_4KB 
 | 
    ---help--- 
 | 
      Changes the default page size; use with caution. 
 | 
  
 | 
config PAGE_SIZE_4KB 
 | 
    bool "4KB" 
 | 
  
 | 
config PAGE_SIZE_16KB 
 | 
    bool "16KB" 
 | 
  
 | 
config PAGE_SIZE_64KB 
 | 
    bool "64KB" 
 | 
  
 | 
config PAGE_SIZE_256KB 
 | 
    bool "256KB" 
 | 
  
 | 
endchoice 
 | 
  
 | 
source "kernel/Kconfig.hz" 
 | 
  
 | 
endmenu 
 |