1 # SPDX-License-Identifier: GPL-2.0-only << 2 menu "IRQ subsystem" 1 menu "IRQ subsystem" 3 # Options selectable by the architecture code 2 # Options selectable by the architecture code 4 3 5 # Make sparse irq Kconfig switch below availab 4 # Make sparse irq Kconfig switch below available 6 config MAY_HAVE_SPARSE_IRQ 5 config MAY_HAVE_SPARSE_IRQ 7 bool 6 bool 8 7 9 # Legacy support, required for itanic 8 # Legacy support, required for itanic 10 config GENERIC_IRQ_LEGACY 9 config GENERIC_IRQ_LEGACY 11 bool 10 bool 12 11 13 # Enable the generic irq autoprobe mechanism 12 # Enable the generic irq autoprobe mechanism 14 config GENERIC_IRQ_PROBE 13 config GENERIC_IRQ_PROBE 15 bool 14 bool 16 15 17 # Use the generic /proc/interrupts implementat 16 # Use the generic /proc/interrupts implementation 18 config GENERIC_IRQ_SHOW 17 config GENERIC_IRQ_SHOW 19 bool 18 bool 20 19 21 # Print level/edge extra information 20 # Print level/edge extra information 22 config GENERIC_IRQ_SHOW_LEVEL 21 config GENERIC_IRQ_SHOW_LEVEL 23 bool 22 bool 24 23 25 # Supports effective affinity mask 24 # Supports effective affinity mask 26 config GENERIC_IRQ_EFFECTIVE_AFF_MASK 25 config GENERIC_IRQ_EFFECTIVE_AFF_MASK 27 depends on SMP !! 26 bool >> 27 >> 28 # Facility to allocate a hardware interrupt. This is legacy support >> 29 # and should not be used in new code. Use irq domains instead. >> 30 config GENERIC_IRQ_LEGACY_ALLOC_HWIRQ 28 bool 31 bool 29 32 30 # Support for delayed migration from interrupt 33 # Support for delayed migration from interrupt context 31 config GENERIC_PENDING_IRQ 34 config GENERIC_PENDING_IRQ 32 bool 35 bool 33 36 34 # Support for generic irq migrating off cpu be 37 # Support for generic irq migrating off cpu before the cpu is offline. 35 config GENERIC_IRQ_MIGRATION 38 config GENERIC_IRQ_MIGRATION 36 bool 39 bool 37 40 38 # Alpha specific irq affinity mechanism 41 # Alpha specific irq affinity mechanism 39 config AUTO_IRQ_AFFINITY 42 config AUTO_IRQ_AFFINITY 40 bool 43 bool 41 44 42 # Interrupt injection mechanism << 43 config GENERIC_IRQ_INJECTION << 44 bool << 45 << 46 # Tasklet based software resend for pending in 45 # Tasklet based software resend for pending interrupts on enable_irq() 47 config HARDIRQS_SW_RESEND 46 config HARDIRQS_SW_RESEND 48 bool 47 bool 49 48 >> 49 # Preflow handler support for fasteoi (sparc64) >> 50 config IRQ_PREFLOW_FASTEOI >> 51 bool >> 52 50 # Edge style eoi based handler (cell) 53 # Edge style eoi based handler (cell) 51 config IRQ_EDGE_EOI_HANDLER 54 config IRQ_EDGE_EOI_HANDLER 52 bool 55 bool 53 56 54 # Generic configurable interrupt chip implemen 57 # Generic configurable interrupt chip implementation 55 config GENERIC_IRQ_CHIP 58 config GENERIC_IRQ_CHIP 56 bool 59 bool 57 select IRQ_DOMAIN 60 select IRQ_DOMAIN 58 61 59 # Generic irq_domain hw <--> linux irq number 62 # Generic irq_domain hw <--> linux irq number translation 60 config IRQ_DOMAIN 63 config IRQ_DOMAIN 61 bool 64 bool 62 65 63 # Support for simulated interrupts << 64 config IRQ_SIM << 65 bool << 66 select IRQ_WORK << 67 select IRQ_DOMAIN << 68 << 69 # Support for hierarchical irq domains 66 # Support for hierarchical irq domains 70 config IRQ_DOMAIN_HIERARCHY 67 config IRQ_DOMAIN_HIERARCHY 71 bool 68 bool 72 select IRQ_DOMAIN 69 select IRQ_DOMAIN 73 70 74 # Support for obsolete non-mapping irq domains << 75 config IRQ_DOMAIN_NOMAP << 76 bool << 77 select IRQ_DOMAIN << 78 << 79 # Support for hierarchical fasteoi+edge and fa << 80 config IRQ_FASTEOI_HIERARCHY_HANDLERS << 81 bool << 82 << 83 # Generic IRQ IPI support 71 # Generic IRQ IPI support 84 config GENERIC_IRQ_IPI 72 config GENERIC_IRQ_IPI 85 bool 73 bool 86 depends on SMP << 87 select IRQ_DOMAIN_HIERARCHY << 88 74 89 # Generic IRQ IPI Mux support !! 75 # Generic MSI interrupt support 90 config GENERIC_IRQ_IPI_MUX !! 76 config GENERIC_MSI_IRQ 91 bool 77 bool 92 depends on SMP << 93 78 94 # Generic MSI hierarchical interrupt domain su 79 # Generic MSI hierarchical interrupt domain support 95 config GENERIC_MSI_IRQ !! 80 config GENERIC_MSI_IRQ_DOMAIN 96 bool 81 bool 97 select IRQ_DOMAIN_HIERARCHY 82 select IRQ_DOMAIN_HIERARCHY >> 83 select GENERIC_MSI_IRQ 98 84 99 config IRQ_MSI_IOMMU !! 85 config HANDLE_DOMAIN_IRQ 100 bool 86 bool 101 87 102 config IRQ_TIMINGS 88 config IRQ_TIMINGS 103 bool 89 bool 104 90 105 config GENERIC_IRQ_MATRIX_ALLOCATOR !! 91 config IRQ_DOMAIN_DEBUG 106 bool !! 92 bool "Expose hardware/virtual IRQ mapping via debugfs" 107 !! 93 depends on IRQ_DOMAIN && DEBUG_FS 108 config GENERIC_IRQ_RESERVATION_MODE !! 94 help 109 bool !! 95 This option will show the mapping relationship between hardware irq >> 96 numbers and Linux irq numbers. The mapping is exposed via debugfs >> 97 in the file "irq_domain_mapping". 110 98 111 # Snapshot for interrupt statistics !! 99 If you don't know what this means you don't need it. 112 config GENERIC_IRQ_STAT_SNAPSHOT << 113 bool << 114 100 115 # Support forced irq threading 101 # Support forced irq threading 116 config IRQ_FORCED_THREADING 102 config IRQ_FORCED_THREADING 117 bool 103 bool 118 104 119 config SPARSE_IRQ 105 config SPARSE_IRQ 120 bool "Support sparse irq numbering" if 106 bool "Support sparse irq numbering" if MAY_HAVE_SPARSE_IRQ 121 help !! 107 ---help--- 122 108 123 Sparse irq numbering is useful for d 109 Sparse irq numbering is useful for distro kernels that want 124 to define a high CONFIG_NR_CPUS valu 110 to define a high CONFIG_NR_CPUS value but still want to have 125 low kernel memory footprint on small 111 low kernel memory footprint on smaller machines. 126 112 127 ( Sparse irqs can also be beneficial 113 ( Sparse irqs can also be beneficial on NUMA boxes, as they spread 128 out the interrupt descriptors in a 114 out the interrupt descriptors in a more NUMA-friendly way. ) 129 115 130 If you don't know what to do here, s 116 If you don't know what to do here, say N. 131 117 132 config GENERIC_IRQ_DEBUGFS 118 config GENERIC_IRQ_DEBUGFS 133 bool "Expose irq internals in debugfs" 119 bool "Expose irq internals in debugfs" 134 depends on DEBUG_FS 120 depends on DEBUG_FS 135 select GENERIC_IRQ_INJECTION << 136 default n 121 default n 137 help !! 122 ---help--- 138 123 139 Exposes internal state information t 124 Exposes internal state information through debugfs. Mostly for 140 developers and debugging of hard to 125 developers and debugging of hard to diagnose interrupt problems. 141 126 142 If you don't know what to do here, s 127 If you don't know what to do here, say N. 143 128 144 endmenu 129 endmenu 145 << 146 config GENERIC_IRQ_MULTI_HANDLER << 147 bool << 148 help << 149 Allow to specify the low level IRQ h << 150 << 151 # Cavium Octeon is the last system to use this << 152 # Do not even think of enabling this on any ne << 153 config DEPRECATED_IRQ_CPU_ONOFFLINE << 154 bool << 155 depends on CAVIUM_OCTEON_SOC << 156 default CAVIUM_OCTEON_SOC <<
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.