aboutsummaryrefslogtreecommitdiffstats
path: root/tools/libxc/xc_evtchn.c
diff options
context:
space:
mode:
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2005-10-06 17:02:38 +0100
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>2005-10-06 17:02:38 +0100
commit07a233ac7c228b36a4c2a9abc09abbbeb04aab81 (patch)
treeb632f65b28354172cdd71aed4caad902deb06e22 /tools/libxc/xc_evtchn.c
parentc804adf4b64a5755c885b681c32591d2e67aa636 (diff)
downloadxen-07a233ac7c228b36a4c2a9abc09abbbeb04aab81.tar.gz
xen-07a233ac7c228b36a4c2a9abc09abbbeb04aab81.tar.bz2
xen-07a233ac7c228b36a4c2a9abc09abbbeb04aab81.zip
User tools send evtchn notifications via /dev/xen/evtchn
rather than using hypercall directly. Signed-off-by: Keir Fraser <keir@xensource.com>
Diffstat (limited to 'tools/libxc/xc_evtchn.c')
-rw-r--r--tools/libxc/xc_evtchn.c81
1 files changed, 4 insertions, 77 deletions
diff --git a/tools/libxc/xc_evtchn.c b/tools/libxc/xc_evtchn.c
index ed6256654b..a318889b85 100644
--- a/tools/libxc/xc_evtchn.c
+++ b/tools/libxc/xc_evtchn.c
@@ -33,95 +33,22 @@ static int do_evtchn_op(int xc_handle, evtchn_op_t *op)
int xc_evtchn_alloc_unbound(int xc_handle,
- u32 remote_dom,
u32 dom,
- int *port)
+ u32 remote_dom)
{
int rc;
evtchn_op_t op = {
.cmd = EVTCHNOP_alloc_unbound,
- .u.alloc_unbound.remote_dom = (domid_t)remote_dom,
- .u.alloc_unbound.dom = (domid_t)dom,
- .u.alloc_unbound.port = (port != NULL) ? *port : 0 };
+ .u.alloc_unbound.dom = (domid_t)dom,
+ .u.alloc_unbound.remote_dom = (domid_t)remote_dom };
if ( (rc = do_evtchn_op(xc_handle, &op)) == 0 )
- {
- if ( port != NULL )
- *port = op.u.alloc_unbound.port;
- }
-
- return rc;
-}
-
-
-int xc_evtchn_bind_interdomain(int xc_handle,
- u32 dom1,
- u32 dom2,
- int *port1,
- int *port2)
-{
- int rc;
- evtchn_op_t op = {
- .cmd = EVTCHNOP_bind_interdomain,
- .u.bind_interdomain.dom1 = (domid_t)dom1,
- .u.bind_interdomain.dom2 = (domid_t)dom2,
- .u.bind_interdomain.port1 = (port1 != NULL) ? *port1 : 0,
- .u.bind_interdomain.port2 = (port2 != NULL) ? *port2 : 0 };
-
- if ( (rc = do_evtchn_op(xc_handle, &op)) == 0 )
- {
- if ( port1 != NULL )
- *port1 = op.u.bind_interdomain.port1;
- if ( port2 != NULL )
- *port2 = op.u.bind_interdomain.port2;
- }
-
- return rc;
-}
-
-
-int xc_evtchn_bind_virq(int xc_handle,
- int virq,
- int *port)
-{
- int rc;
- evtchn_op_t op = {
- .cmd = EVTCHNOP_bind_virq,
- .u.bind_virq.virq = (u32)virq,
- .u.bind_virq.vcpu = 0 };
-
- if ( (rc = do_evtchn_op(xc_handle, &op)) == 0 )
- {
- if ( port != NULL )
- *port = op.u.bind_virq.port;
- }
+ rc = op.u.alloc_unbound.port;
return rc;
}
-int xc_evtchn_close(int xc_handle,
- u32 dom,
- int port)
-{
- evtchn_op_t op = {
- .cmd = EVTCHNOP_close,
- .u.close.dom = (domid_t)dom,
- .u.close.port = port };
- return do_evtchn_op(xc_handle, &op);
-}
-
-
-int xc_evtchn_send(int xc_handle,
- int local_port)
-{
- evtchn_op_t op = {
- .cmd = EVTCHNOP_send,
- .u.send.local_port = local_port };
- return do_evtchn_op(xc_handle, &op);
-}
-
-
int xc_evtchn_status(int xc_handle,
u32 dom,
int port,