# SPDX-License-Identifier: GPL-2.0-only 
 | 
menu "IRQ subsystem" 
 | 
# Options selectable by the architecture code 
 | 
  
 | 
# Make sparse irq Kconfig switch below available 
 | 
config MAY_HAVE_SPARSE_IRQ 
 | 
       bool 
 | 
  
 | 
# Legacy support, required for itanic 
 | 
config GENERIC_IRQ_LEGACY 
 | 
       bool 
 | 
  
 | 
# Enable the generic irq autoprobe mechanism 
 | 
config GENERIC_IRQ_PROBE 
 | 
    bool 
 | 
  
 | 
# Use the generic /proc/interrupts implementation 
 | 
config GENERIC_IRQ_SHOW 
 | 
       bool 
 | 
  
 | 
# Print level/edge extra information 
 | 
config GENERIC_IRQ_SHOW_LEVEL 
 | 
       bool 
 | 
  
 | 
# Supports effective affinity mask 
 | 
config GENERIC_IRQ_EFFECTIVE_AFF_MASK 
 | 
       bool 
 | 
  
 | 
# Facility to allocate a hardware interrupt. This is legacy support 
 | 
# and should not be used in new code. Use irq domains instead. 
 | 
config GENERIC_IRQ_LEGACY_ALLOC_HWIRQ 
 | 
       bool 
 | 
  
 | 
# Support for delayed migration from interrupt context 
 | 
config GENERIC_PENDING_IRQ 
 | 
    bool 
 | 
  
 | 
# Support for generic irq migrating off cpu before the cpu is offline. 
 | 
config GENERIC_IRQ_MIGRATION 
 | 
    bool 
 | 
  
 | 
# Alpha specific irq affinity mechanism 
 | 
config AUTO_IRQ_AFFINITY 
 | 
       bool 
 | 
  
 | 
# Interrupt injection mechanism 
 | 
config GENERIC_IRQ_INJECTION 
 | 
    bool 
 | 
  
 | 
# Tasklet based software resend for pending interrupts on enable_irq() 
 | 
config HARDIRQS_SW_RESEND 
 | 
       bool 
 | 
  
 | 
# Edge style eoi based handler (cell) 
 | 
config IRQ_EDGE_EOI_HANDLER 
 | 
       bool 
 | 
  
 | 
# Generic configurable interrupt chip implementation 
 | 
config GENERIC_IRQ_CHIP 
 | 
       bool 
 | 
       select IRQ_DOMAIN 
 | 
  
 | 
# Generic irq_domain hw <--> linux irq number translation 
 | 
config IRQ_DOMAIN 
 | 
    bool 
 | 
  
 | 
# Support for simulated interrupts 
 | 
config IRQ_SIM 
 | 
    bool 
 | 
    select IRQ_WORK 
 | 
    select IRQ_DOMAIN 
 | 
  
 | 
# Support for hierarchical irq domains 
 | 
config IRQ_DOMAIN_HIERARCHY 
 | 
    bool 
 | 
    select IRQ_DOMAIN 
 | 
  
 | 
# Support for hierarchical fasteoi+edge and fasteoi+level handlers 
 | 
config IRQ_FASTEOI_HIERARCHY_HANDLERS 
 | 
    bool 
 | 
  
 | 
# Generic IRQ IPI support 
 | 
config GENERIC_IRQ_IPI 
 | 
    bool 
 | 
    depends on SMP 
 | 
    select IRQ_DOMAIN_HIERARCHY 
 | 
  
 | 
# Generic MSI interrupt support 
 | 
config GENERIC_MSI_IRQ 
 | 
    bool 
 | 
  
 | 
# Generic MSI hierarchical interrupt domain support 
 | 
config GENERIC_MSI_IRQ_DOMAIN 
 | 
    bool 
 | 
    select IRQ_DOMAIN_HIERARCHY 
 | 
    select GENERIC_MSI_IRQ 
 | 
  
 | 
config IRQ_MSI_IOMMU 
 | 
    bool 
 | 
  
 | 
config HANDLE_DOMAIN_IRQ 
 | 
    bool 
 | 
  
 | 
config IRQ_TIMINGS 
 | 
    bool 
 | 
  
 | 
config GENERIC_IRQ_MATRIX_ALLOCATOR 
 | 
    bool 
 | 
  
 | 
config GENERIC_IRQ_RESERVATION_MODE 
 | 
    bool 
 | 
  
 | 
config ARCH_WANTS_IRQ_RAW 
 | 
    bool 
 | 
  
 | 
# Support forced irq threading 
 | 
config IRQ_FORCED_THREADING 
 | 
       bool 
 | 
  
 | 
config SPARSE_IRQ 
 | 
    bool "Support sparse irq numbering" if MAY_HAVE_SPARSE_IRQ 
 | 
    help 
 | 
  
 | 
      Sparse irq numbering is useful for distro kernels that want 
 | 
      to define a high CONFIG_NR_CPUS value but still want to have 
 | 
      low kernel memory footprint on smaller machines. 
 | 
  
 | 
      ( Sparse irqs can also be beneficial on NUMA boxes, as they spread 
 | 
        out the interrupt descriptors in a more NUMA-friendly way. ) 
 | 
  
 | 
      If you don't know what to do here, say N. 
 | 
  
 | 
config GENERIC_IRQ_DEBUGFS 
 | 
    bool "Expose irq internals in debugfs" 
 | 
    depends on DEBUG_FS 
 | 
    select GENERIC_IRQ_INJECTION 
 | 
    default n 
 | 
    help 
 | 
  
 | 
      Exposes internal state information through debugfs. Mostly for 
 | 
      developers and debugging of hard to diagnose interrupt problems. 
 | 
  
 | 
      If you don't know what to do here, say N. 
 | 
  
 | 
endmenu 
 | 
  
 | 
config GENERIC_IRQ_MULTI_HANDLER 
 | 
    bool 
 | 
    help 
 | 
      Allow to specify the low level IRQ handler at run time. 
 |