Annotation of src/sys/arch/xen/include/evtchn.h, Revision 1.20.8.1
1.20.8.1! msaitoh 1: /* $NetBSD: evtchn.h,v 1.20 2011/09/20 00:12:23 jym Exp $ */
1.2 bouyer 2:
3: /*
4: *
5: * Copyright (c) 2004 Christian Limpach.
6: * All rights reserved.
7: *
8: * Redistribution and use in source and binary forms, with or without
9: * modification, are permitted provided that the following conditions
10: * are met:
11: * 1. Redistributions of source code must retain the above copyright
12: * notice, this list of conditions and the following disclaimer.
13: * 2. Redistributions in binary form must reproduce the above copyright
14: * notice, this list of conditions and the following disclaimer in the
15: * documentation and/or other materials provided with the distribution.
16: *
17: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18: * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20: * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21: * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22: * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26: * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27: */
28:
29: #ifndef _XEN_EVENTS_H_
30: #define _XEN_EVENTS_H_
31:
1.10 bouyer 32: #define NR_PIRQS 256
1.2 bouyer 33:
1.5 bouyer 34: extern struct evtsource *evtsource[];
1.2 bouyer 35:
36: void events_default_setup(void);
1.17 jym 37: void events_init(void);
1.20 jym 38: bool events_suspend(void);
39: bool events_resume(void);
40:
1.9 yamt 41: unsigned int evtchn_do_event(int, struct intrframe *);
1.13 yamt 42: void call_evtchn_do_event(int, struct intrframe *);
1.16 bouyer 43: void call_xenevt_event(int);
1.6 bouyer 44: int event_set_handler(int, int (*func)(void *), void *, int, const char *);
1.5 bouyer 45: int event_remove_handler(int, int (*func)(void *), void *);
1.2 bouyer 46:
1.19 cherry 47: struct cpu_info;
1.15 bouyer 48: struct intrhand;
1.19 cherry 49: void event_set_iplhandler(struct cpu_info *, struct intrhand *, int);
1.15 bouyer 50:
1.14 bouyer 51: extern int debug_port;
52: extern int xen_debug_handler(void *);
53:
1.5 bouyer 54: int bind_virq_to_evtch(int);
55: int bind_pirq_to_evtch(int);
1.17 jym 56: int unbind_pirq_from_evtch(int);
57: int unbind_virq_from_evtch(int);
1.2 bouyer 58:
1.19 cherry 59: evtchn_port_t bind_vcpu_to_evtch(cpuid_t);
60:
1.2 bouyer 61: struct pintrhand {
62: int pirq;
1.5 bouyer 63: int evtch;
1.2 bouyer 64: int (*func)(void *);
65: void *arg;
66: };
67:
1.12 bouyer 68: struct pintrhand *pirq_establish(int, int, int (*)(void *), void *, int,
69: const char *);
1.20.8.1! msaitoh 70: void pirq_disestablish(struct pintrhand *);
1.2 bouyer 71:
72: #endif /* _XEN_EVENTS_H_ */
CVSweb <webmaster@jp.NetBSD.org>