Kconfig 3.3 KB

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