linux/kernel/irq/Kconfig
<<
>>
Prefs
   1# SPDX-License-Identifier: GPL-2.0-only
   2menu "IRQ subsystem"
   3# Options selectable by the architecture code
   4
   5# Make sparse irq Kconfig switch below available
   6config MAY_HAVE_SPARSE_IRQ
   7       bool
   8
   9# Legacy support, required for itanic
  10config GENERIC_IRQ_LEGACY
  11       bool
  12
  13# Enable the generic irq autoprobe mechanism
  14config GENERIC_IRQ_PROBE
  15        bool
  16
  17# Use the generic /proc/interrupts implementation
  18config GENERIC_IRQ_SHOW
  19       bool
  20
  21# Print level/edge extra information
  22config GENERIC_IRQ_SHOW_LEVEL
  23       bool
  24
  25# Supports effective affinity mask
  26config GENERIC_IRQ_EFFECTIVE_AFF_MASK
  27       bool
  28
  29# Support for delayed migration from interrupt context
  30config GENERIC_PENDING_IRQ
  31        bool
  32
  33# Support for generic irq migrating off cpu before the cpu is offline.
  34config GENERIC_IRQ_MIGRATION
  35        bool
  36
  37# Alpha specific irq affinity mechanism
  38config AUTO_IRQ_AFFINITY
  39       bool
  40
  41# Interrupt injection mechanism
  42config GENERIC_IRQ_INJECTION
  43        bool
  44
  45# Tasklet based software resend for pending interrupts on enable_irq()
  46config HARDIRQS_SW_RESEND
  47       bool
  48
  49# Edge style eoi based handler (cell)
  50config IRQ_EDGE_EOI_HANDLER
  51       bool
  52
  53# Generic configurable interrupt chip implementation
  54config GENERIC_IRQ_CHIP
  55       bool
  56       select IRQ_DOMAIN
  57
  58# Generic irq_domain hw <--> linux irq number translation
  59config IRQ_DOMAIN
  60        bool
  61
  62# Support for simulated interrupts
  63config IRQ_SIM
  64        bool
  65        select IRQ_WORK
  66        select IRQ_DOMAIN
  67
  68# Support for hierarchical irq domains
  69config IRQ_DOMAIN_HIERARCHY
  70        bool
  71        select IRQ_DOMAIN
  72
  73# Support for obsolete non-mapping irq domains
  74config IRQ_DOMAIN_NOMAP
  75        bool
  76        select IRQ_DOMAIN
  77
  78# Support for hierarchical fasteoi+edge and fasteoi+level handlers
  79config IRQ_FASTEOI_HIERARCHY_HANDLERS
  80        bool
  81
  82# Generic IRQ IPI support
  83config GENERIC_IRQ_IPI
  84        bool
  85        select IRQ_DOMAIN_HIERARCHY
  86
  87# Generic MSI interrupt support
  88config GENERIC_MSI_IRQ
  89        bool
  90
  91# Generic MSI hierarchical interrupt domain support
  92config GENERIC_MSI_IRQ_DOMAIN
  93        bool
  94        select IRQ_DOMAIN_HIERARCHY
  95        select GENERIC_MSI_IRQ
  96
  97config IRQ_MSI_IOMMU
  98        bool
  99
 100config HANDLE_DOMAIN_IRQ
 101        bool
 102
 103config IRQ_TIMINGS
 104        bool
 105
 106config GENERIC_IRQ_MATRIX_ALLOCATOR
 107        bool
 108
 109config GENERIC_IRQ_RESERVATION_MODE
 110        bool
 111
 112# Support forced irq threading
 113config IRQ_FORCED_THREADING
 114       bool
 115
 116config SPARSE_IRQ
 117        bool "Support sparse irq numbering" if MAY_HAVE_SPARSE_IRQ
 118        help
 119
 120          Sparse irq numbering is useful for distro kernels that want
 121          to define a high CONFIG_NR_CPUS value but still want to have
 122          low kernel memory footprint on smaller machines.
 123
 124          ( Sparse irqs can also be beneficial on NUMA boxes, as they spread
 125            out the interrupt descriptors in a more NUMA-friendly way. )
 126
 127          If you don't know what to do here, say N.
 128
 129config GENERIC_IRQ_DEBUGFS
 130        bool "Expose irq internals in debugfs"
 131        depends on DEBUG_FS
 132        select GENERIC_IRQ_INJECTION
 133        default n
 134        help
 135
 136          Exposes internal state information through debugfs. Mostly for
 137          developers and debugging of hard to diagnose interrupt problems.
 138
 139          If you don't know what to do here, say N.
 140
 141endmenu
 142
 143config GENERIC_IRQ_MULTI_HANDLER
 144        bool
 145        help
 146          Allow to specify the low level IRQ handler at run time.
 147