xref: /onnv-gate/usr/src/uts/common/xen/sys/xenbus_comms.h (revision 5084:7d838c5c0eed)
1*5084Sjohnlev /*
2*5084Sjohnlev  * Private include for xenbus communications.
3*5084Sjohnlev  *
4*5084Sjohnlev  * Copyright (C) 2005 Rusty Russell, IBM Corporation
5*5084Sjohnlev  *
6*5084Sjohnlev  * This file may be distributed separately from the Linux kernel, or
7*5084Sjohnlev  * incorporated into other software packages, subject to the following license:
8*5084Sjohnlev  *
9*5084Sjohnlev  * Permission is hereby granted, free of charge, to any person obtaining a copy
10*5084Sjohnlev  * of this source file (the "Software"), to deal in the Software without
11*5084Sjohnlev  * restriction, including without limitation the rights to use, copy, modify,
12*5084Sjohnlev  * merge, publish, distribute, sublicense, and/or sell copies of the Software,
13*5084Sjohnlev  * and to permit persons to whom the Software is furnished to do so, subject to
14*5084Sjohnlev  * the following conditions:
15*5084Sjohnlev  *
16*5084Sjohnlev  * The above copyright notice and this permission notice shall be included in
17*5084Sjohnlev  * all copies or substantial portions of the Software.
18*5084Sjohnlev  *
19*5084Sjohnlev  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20*5084Sjohnlev  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21*5084Sjohnlev  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22*5084Sjohnlev  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23*5084Sjohnlev  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24*5084Sjohnlev  * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
25*5084Sjohnlev  * IN THE SOFTWARE.
26*5084Sjohnlev  */
27*5084Sjohnlev 
28*5084Sjohnlev /*
29*5084Sjohnlev  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
30*5084Sjohnlev  * Use is subject to license terms.
31*5084Sjohnlev  */
32*5084Sjohnlev 
33*5084Sjohnlev #ifndef	_SYS_XENBUS_COMMS_H
34*5084Sjohnlev #define	_SYS_XENBUS_COMMS_H
35*5084Sjohnlev 
36*5084Sjohnlev #pragma ident	"%Z%%M%	%I%	%E% SMI"
37*5084Sjohnlev 
38*5084Sjohnlev #include <sys/sunddi.h>
39*5084Sjohnlev 
40*5084Sjohnlev #ifdef __cplusplus
41*5084Sjohnlev extern "C" {
42*5084Sjohnlev #endif
43*5084Sjohnlev 
44*5084Sjohnlev /* xenbus interface interrupt */
45*5084Sjohnlev #define	IPL_XENBUS	0x01
46*5084Sjohnlev 
47*5084Sjohnlev void xs_early_init(void);
48*5084Sjohnlev void xs_domu_init(void);
49*5084Sjohnlev void xs_dom0_init(void);
50*5084Sjohnlev void xb_suspend(void);
51*5084Sjohnlev void xb_init(void);
52*5084Sjohnlev void xb_setup_intr(void);
53*5084Sjohnlev 
54*5084Sjohnlev /* Low level routines. */
55*5084Sjohnlev int xb_write(const void *data, unsigned len);
56*5084Sjohnlev int xb_read(void *data, unsigned len);
57*5084Sjohnlev 
58*5084Sjohnlev ddi_umem_cookie_t xb_xenstore_cookie(void);
59*5084Sjohnlev 
60*5084Sjohnlev #ifdef __cplusplus
61*5084Sjohnlev }
62*5084Sjohnlev #endif
63*5084Sjohnlev 
64*5084Sjohnlev #endif /* _SYS_XENBUS_COMMS_H */
65