1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 **************************************************************************** 11 ****************************************************************************/ 12 #ifndef __ASM_HARDIRQ_H 13 #define __ASM_HARDIRQ_H 14 15 #include <linux/cache.h> 16 #include <linux/threads.h> 17 #include <asm/irq.h> 18 19 typedef struct { 20 unsigned int __softirq_pending; 21 unsigned int local_timer_irqs; 22 } ____cacheline_aligned irq_cpustat_t; 23 24 #include <linux/irq_cpustat.h> 25 26 #if NR_IRQS > 256 27 #define HARDIRQ_BITS 9 28 #else 29 #define HARDIRQ_BITS 8 30 #endif 31 32 #if 1 << HARDIRQ_BITS < NR_IRQS 33 #error HARDIRQ_BITS is too low! 34 #endif 35 36 #define __ARCH_IRQ_EXIT_IRQS_DISABLED 1 37 38 #endif 39