| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | #ifndef __ASM_HARDIRQ_H | 
|  | 2 | #define __ASM_HARDIRQ_H | 
|  | 3 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 4 | #include <linux/threads.h> | 
|  | 5 | #include <linux/irq.h> | 
|  | 6 |  | 
|  | 7 | typedef struct { | 
|  | 8 | unsigned int __softirq_pending; | 
|  | 9 | unsigned long idle_timestamp; | 
|  | 10 | unsigned int __nmi_count;	/* arch dependent */ | 
|  | 11 | unsigned int apic_timer_irqs;	/* arch dependent */ | 
| Thomas Gleixner | 3c9aea4 | 2007-10-12 23:04:06 +0200 | [diff] [blame] | 12 | unsigned int irq0_irqs; | 
| Joe Korty | 38e760a | 2007-10-17 18:04:40 +0200 | [diff] [blame] | 13 | unsigned int irq_resched_count; | 
|  | 14 | unsigned int irq_call_count; | 
|  | 15 | unsigned int irq_tlb_count; | 
|  | 16 | unsigned int irq_thermal_count; | 
|  | 17 | unsigned int irq_spurious_count; | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 18 | } ____cacheline_aligned irq_cpustat_t; | 
|  | 19 |  | 
|  | 20 | DECLARE_PER_CPU(irq_cpustat_t, irq_stat); | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 21 |  | 
|  | 22 | #define __ARCH_IRQ_STAT | 
|  | 23 | #define __IRQ_STAT(cpu, member) (per_cpu(irq_stat, cpu).member) | 
|  | 24 |  | 
|  | 25 | void ack_bad_irq(unsigned int irq); | 
|  | 26 | #include <linux/irq_cpustat.h> | 
|  | 27 |  | 
|  | 28 | #endif /* __ASM_HARDIRQ_H */ |