ia64/xen-unstable

view xen/common/softirq.c @ 10570:8dc4af3f192c

[IA64] Implement and use DOM0_DOMAIN_STEUP.

DOM0_GETMEMLIST now reads ptes and use gpfn.
Domain builder reworked: calls DOMAIN_SETUP, setup start_info page.
SAL data are now in domain memory.
is_vti field added in domain.arch.
Many cleanups (indentation, static, warnings).

Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
author awilliam@xenbuild.aw
date Wed Jul 05 09:28:32 2006 -0600 (2006-07-05)
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 */