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