ia64/xen-unstable

view xen/common/softirq.c @ 9706:3c05406f5e0a

In some cases, say for instance for some bizzare reason
the tree was checked out of CVS, which doens't neccessarily
store file permissions, mkbuildtree may not be executable.
So run them explicitly via bash.

Signed-Off-By: Horms <horms@verge.net.au>
author kaf24@firebug.cl.cam.ac.uk
date Thu Apr 13 11:24:00 2006 +0100 (2006-04-13)
parents 3838105ab03b
children 53f552ad4042
line source
1 /******************************************************************************
2 * common/softirq.c
3 *
4 * Softirqs in Xen are only executed in an outermost activation (e.g., never
5 * within an interrupt activation). This simplifies some things and generally
6 * seems a good thing.
7 *
8 * Copyright (c) 2003, K A Fraser
9 * Copyright (c) 1992, Linus Torvalds
10 */
12 #include <xen/config.h>
13 #include <xen/init.h>
14 #include <xen/mm.h>
15 #include <xen/sched.h>
16 #include <xen/softirq.h>
18 #ifndef __ARCH_IRQ_STAT
19 irq_cpustat_t irq_stat[NR_CPUS];
20 #endif
22 static softirq_handler softirq_handlers[NR_SOFTIRQS];
24 asmlinkage void do_softirq(void)
25 {
26 unsigned int i, cpu = smp_processor_id();
27 unsigned long pending;
29 pending = softirq_pending(cpu);
30 ASSERT(pending != 0);
32 do {
33 i = find_first_set_bit(pending);
34 clear_bit(i, &softirq_pending(cpu));
35 (*softirq_handlers[i])();
36 } while ( (pending = softirq_pending(cpu)) != 0 );
37 }
39 void open_softirq(int nr, softirq_handler handler)
40 {
41 softirq_handlers[nr] = handler;
42 }
44 /*
45 * Local variables:
46 * mode: C
47 * c-set-style: "BSD"
48 * c-basic-offset: 4
49 * tab-width: 4
50 * indent-tabs-mode: nil
51 * End:
52 */