ia64/xen-unstable

view xen/include/asm-x86/hardirq.h @ 9552:3838105ab03b

Various softirq cleanups:
1. Make __softirq_pending a long, since PPC borrows the file
hardirq.h from us and they only do atomic ops on longs.
2. do_softirq() explicitly takes a void param list.
3. Remove idle_timestamp field from irq_cpustat. It's unused
and lets us simplify the idle loop a little bit.

Part 1 based on a patch from Hollis Blanchard at IBM.

Signed-off-by: Keir Fraser <keir@xensource.com>
author kaf24@firebug.cl.cam.ac.uk
date Fri Mar 31 12:03:42 2006 +0100 (2006-03-31)
parents 07a892f12609
children
line source
1 #ifndef __ASM_HARDIRQ_H
2 #define __ASM_HARDIRQ_H
4 #include <xen/config.h>
5 #include <xen/cache.h>
7 typedef struct {
8 unsigned long __softirq_pending;
9 unsigned int __local_irq_count;
10 unsigned int __nmi_count;
11 } __cacheline_aligned irq_cpustat_t;
13 #include <xen/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */
15 #define in_irq() (local_irq_count(smp_processor_id()) != 0)
17 #define irq_enter() (local_irq_count(smp_processor_id())++)
18 #define irq_exit() (local_irq_count(smp_processor_id())--)
20 void ack_bad_irq(unsigned int irq);
22 extern void apic_intr_init(void);
23 extern void smp_intr_init(void);
25 #endif /* __ASM_HARDIRQ_H */