1 #ifndef __ASM_HARDIRQ_H
2 #define __ASM_HARDIRQ_H
3 
4 #include <xen/cache.h>
5 #include <xen/smp.h>
6 
7 typedef struct {
8         unsigned long __softirq_pending;
9         unsigned int __local_irq_count;
10 } __cacheline_aligned irq_cpustat_t;
11 
12 #include <xen/irq_cpustat.h>    /* Standard mappings for irq_cpustat_t above */
13 
14 #define in_irq() (local_irq_count(smp_processor_id()) != 0)
15 
16 #define irq_enter()     (local_irq_count(smp_processor_id())++)
17 #define irq_exit()      (local_irq_count(smp_processor_id())--)
18 
19 #endif /* __ASM_HARDIRQ_H */
20 /*
21  * Local variables:
22  * mode: C
23  * c-file-style: "BSD"
24  * c-basic-offset: 4
25  * indent-tabs-mode: nil
26  * End:
27  */
28