xref: /linux/arch/um/include/asm/irqflags.h (revision d218439feccafaa3e852bbaecc0d9f6110096b65)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __UM_IRQFLAGS_H
3 #define __UM_IRQFLAGS_H
4 
5 extern int get_signals(void);
6 extern int set_signals(int enable);
7 extern void block_signals(void);
8 extern void unblock_signals(void);
9 
10 #define arch_local_save_flags arch_local_save_flags
11 static inline unsigned long arch_local_save_flags(void)
12 {
13 	return get_signals();
14 }
15 
16 #define arch_local_irq_restore arch_local_irq_restore
17 static inline void arch_local_irq_restore(unsigned long flags)
18 {
19 	set_signals(flags);
20 }
21 
22 #define arch_local_irq_enable arch_local_irq_enable
23 static inline void arch_local_irq_enable(void)
24 {
25 	unblock_signals();
26 }
27 
28 #define arch_local_irq_disable arch_local_irq_disable
29 static inline void arch_local_irq_disable(void)
30 {
31 	block_signals();
32 }
33 
34 #define ARCH_IRQ_DISABLED	0
35 #define ARCh_IRQ_ENABLED	(SIGIO|SIGVTALRM)
36 
37 #include <asm-generic/irqflags.h>
38 
39 #endif
40