xref: /linux/arch/um/include/asm/irq.h (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
28ede0bdbSAl Viro #ifndef __UM_IRQ_H
38ede0bdbSAl Viro #define __UM_IRQ_H
48ede0bdbSAl Viro 
58ede0bdbSAl Viro #define TIMER_IRQ		0
68ede0bdbSAl Viro #define UMN_IRQ			1
7*d5a9597dSJohannes Berg #define UBD_IRQ			2
8*d5a9597dSJohannes Berg #define UM_ETH_IRQ		3
9*d5a9597dSJohannes Berg #define ACCEPT_IRQ		4
10*d5a9597dSJohannes Berg #define MCONSOLE_IRQ		5
11*d5a9597dSJohannes Berg #define WINCH_IRQ		6
12*d5a9597dSJohannes Berg #define SIGIO_WRITE_IRQ 	7
13*d5a9597dSJohannes Berg #define TELNETD_IRQ 		8
14*d5a9597dSJohannes Berg #define XTERM_IRQ 		9
15*d5a9597dSJohannes Berg #define RANDOM_IRQ 		10
168ede0bdbSAl Viro 
1749da7e64SAnton Ivanov #ifdef CONFIG_UML_NET_VECTOR
1849da7e64SAnton Ivanov 
19aaf5800eSJohannes Berg #define VECTOR_BASE_IRQ		(RANDOM_IRQ + 1)
2049da7e64SAnton Ivanov #define VECTOR_IRQ_SPACE	8
2149da7e64SAnton Ivanov 
2236d46a59SJohannes Berg #define UM_FIRST_DYN_IRQ (VECTOR_IRQ_SPACE + VECTOR_BASE_IRQ)
2349da7e64SAnton Ivanov 
2449da7e64SAnton Ivanov #else
2549da7e64SAnton Ivanov 
26aaf5800eSJohannes Berg #define UM_FIRST_DYN_IRQ (RANDOM_IRQ + 1)
2749da7e64SAnton Ivanov 
2849da7e64SAnton Ivanov #endif
2949da7e64SAnton Ivanov 
3068f5d3f3SJohannes Berg #define UM_LAST_SIGNAL_IRQ	64
3168f5d3f3SJohannes Berg /* If we have (simulated) PCI MSI, allow 64 more interrupt numbers for it */
3268f5d3f3SJohannes Berg #ifdef CONFIG_PCI_MSI
3368f5d3f3SJohannes Berg #define NR_IRQS			(UM_LAST_SIGNAL_IRQ + 64)
3468f5d3f3SJohannes Berg #else
3568f5d3f3SJohannes Berg #define NR_IRQS			UM_LAST_SIGNAL_IRQ
3668f5d3f3SJohannes Berg #endif /* CONFIG_PCI_MSI */
378ede0bdbSAl Viro 
38ddad5187SJohannes Berg #include <asm-generic/irq.h>
398ede0bdbSAl Viro #endif
40