diff options
author | Brian Gerst <brgerst@gmail.com> | 2009-01-22 21:03:31 -0500 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2009-01-22 21:03:31 -0500 |
commit | 22da7b3df3a2e26a87a8581575dbf26e465a6ac7 (patch) | |
tree | ea6e5000ebb91951b5613bc818d683cdc21af75a /arch/x86/include/asm/hardirq.h | |
parent | 658a9a2c34914e8114eea9c4d85d4ecd3ee33b98 (diff) |
x86: merge hardirq_{32,64}.h into hardirq.h
Impact: cleanup
Signed-off-by: Brian Gerst <brgerst@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'arch/x86/include/asm/hardirq.h')
-rw-r--r-- | arch/x86/include/asm/hardirq.h | 43 |
1 files changed, 38 insertions, 5 deletions
diff --git a/arch/x86/include/asm/hardirq.h b/arch/x86/include/asm/hardirq.h index 000787df66e6..f4a95f20f8ec 100644 --- a/arch/x86/include/asm/hardirq.h +++ b/arch/x86/include/asm/hardirq.h | |||
@@ -1,11 +1,44 @@ | |||
1 | #ifdef CONFIG_X86_32 | 1 | #ifndef _ASM_X86_HARDIRQ_H |
2 | # include "hardirq_32.h" | 2 | #define _ASM_X86_HARDIRQ_H |
3 | #else | 3 | |
4 | # include "hardirq_64.h" | 4 | #include <linux/threads.h> |
5 | #endif | 5 | #include <linux/irq.h> |
6 | |||
7 | typedef struct { | ||
8 | unsigned int __softirq_pending; | ||
9 | unsigned int __nmi_count; /* arch dependent */ | ||
10 | unsigned int apic_timer_irqs; /* arch dependent */ | ||
11 | unsigned int irq0_irqs; | ||
12 | unsigned int irq_resched_count; | ||
13 | unsigned int irq_call_count; | ||
14 | unsigned int irq_tlb_count; | ||
15 | unsigned int irq_thermal_count; | ||
16 | unsigned int irq_spurious_count; | ||
17 | unsigned int irq_threshold_count; | ||
18 | } ____cacheline_aligned irq_cpustat_t; | ||
19 | |||
20 | DECLARE_PER_CPU(irq_cpustat_t, irq_stat); | ||
21 | |||
22 | /* We can have at most NR_VECTORS irqs routed to a cpu at a time */ | ||
23 | #define MAX_HARDIRQS_PER_CPU NR_VECTORS | ||
24 | |||
25 | #define __ARCH_IRQ_STAT | ||
26 | |||
27 | #define inc_irq_stat(member) percpu_add(irq_stat.member, 1) | ||
28 | |||
29 | #define local_softirq_pending() percpu_read(irq_stat.__softirq_pending) | ||
30 | |||
31 | #define __ARCH_SET_SOFTIRQ_PENDING | ||
32 | |||
33 | #define set_softirq_pending(x) percpu_write(irq_stat.__softirq_pending, (x)) | ||
34 | #define or_softirq_pending(x) percpu_or(irq_stat.__softirq_pending, (x)) | ||
35 | |||
36 | extern void ack_bad_irq(unsigned int irq); | ||
6 | 37 | ||
7 | extern u64 arch_irq_stat_cpu(unsigned int cpu); | 38 | extern u64 arch_irq_stat_cpu(unsigned int cpu); |
8 | #define arch_irq_stat_cpu arch_irq_stat_cpu | 39 | #define arch_irq_stat_cpu arch_irq_stat_cpu |
9 | 40 | ||
10 | extern u64 arch_irq_stat(void); | 41 | extern u64 arch_irq_stat(void); |
11 | #define arch_irq_stat arch_irq_stat | 42 | #define arch_irq_stat arch_irq_stat |
43 | |||
44 | #endif /* _ASM_X86_HARDIRQ_H */ | ||