# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1291293181 0
# Node ID 9c0c5aa7b9fec2740fe3647d89d2a1437ffeddd8
# Parent 55acbaeab0badc9cded7c1b56af79e45d0f78929
libxc: NetBSD: implement xc_evtchn_bind_unbound_port.
Doesn't actually appear to be used anywhere but is defined for other
OSes.
The NetBSD evtchn.h contains comments "Return allocated port" for
several ioctls which currently return the allocated port as a member
of the argument structure and not as the ioctl return value (I think
this is a cut and paste error).
I have assumed that this ioctl follows the same pattern as the
existing NetBSD ioctls and removed the misleading comments.
Not even compile tested.
Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
diff -r 55acbaeab0ba -r 9c0c5aa7b9fe tools/include/xen-sys/NetBSD/evtchn.h
--- a/tools/include/xen-sys/NetBSD/evtchn.h Thu Dec 02 12:33:01 2010 +0000
+++ b/tools/include/xen-sys/NetBSD/evtchn.h Thu Dec 02 12:33:01 2010 +0000
@@ -33,7 +33,6 @@
/*
* Bind a fresh port to VIRQ @virq.
- * Return allocated port.
*/
#define IOCTL_EVTCHN_BIND_VIRQ \
_IOWR('E', 4, struct ioctl_evtchn_bind_virq)
@@ -44,7 +43,6 @@ struct ioctl_evtchn_bind_virq {
/*
* Bind a fresh port to remote <@remote_domain, @remote_port>.
- * Return allocated port.
*/
#define IOCTL_EVTCHN_BIND_INTERDOMAIN \
_IOWR('E', 5, struct ioctl_evtchn_bind_interdomain)
@@ -55,7 +53,6 @@ struct ioctl_evtchn_bind_interdomain {
/*
* Allocate a fresh port for binding to @remote_domain.
- * Return allocated port.
*/
#define IOCTL_EVTCHN_BIND_UNBOUND_PORT \
_IOWR('E', 6, struct ioctl_evtchn_bind_unbound_port)
diff -r 55acbaeab0ba -r 9c0c5aa7b9fe tools/libxc/xc_netbsd.c
--- a/tools/libxc/xc_netbsd.c Thu Dec 02 12:33:01 2010 +0000
+++ b/tools/libxc/xc_netbsd.c Thu Dec 02 12:33:01 2010 +0000
@@ -206,6 +206,21 @@ int xc_evtchn_notify(int xce_handle, evt
}
evtchn_port_or_error_t
+xc_evtchn_bind_unbound_port(int xce_handle, int domid)
+{
+ struct ioctl_evtchn_bind_unbound_port bind;
+ int ret;
+
+ bind.remote_domain = domid;
+
+ ret = ioctl(xce_handle, IOCTL_EVTCHN_BIND_UNBOUND_PORT, &bind);
+ if (ret == 0)
+ return bind.port;
+ else
+ return -1;
+}
+
+evtchn_port_or_error_t
xc_evtchn_bind_interdomain(int xce_handle, int domid,
evtchn_port_t remote_port)
{
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|