rpms/xen/devel xen-pvfb-11-nodename.patch, NONE, 1.1.2.1 xen.spec, 1.194.2.3, 1.194.2.4

Daniel P. Berrange (berrange) fedora-extras-commits at redhat.com
Mon Oct 29 18:44:59 UTC 2007


Author: berrange

Update of /cvs/pkgs/rpms/xen/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv22860

Modified Files:
      Tag: private-berrange-xen-unstable
	xen.spec 
Added Files:
      Tag: private-berrange-xen-unstable
	xen-pvfb-11-nodename.patch 
Log Message:
Pull in PVFB patch

xen-pvfb-11-nodename.patch:

--- NEW FILE xen-pvfb-11-nodename.patch ---
diff -r a1da8e458838 tools/ioemu/hw/xenfb.c
--- a/tools/ioemu/hw/xenfb.c	Wed Oct 24 16:07:10 2007 -0400
+++ b/tools/ioemu/hw/xenfb.c	Fri Oct 26 11:58:09 2007 -0400
@@ -180,6 +180,51 @@ static void xenfb_device_init(struct xen
 	dev->xenfb = xenfb;
 }
 
+static char *xenfb_path_in_dom(struct xs_handle *xsh,
+                               char *buf, size_t size,
+                               unsigned domid, const char *fmt, ...)
+{
+        va_list ap;
+        char *domp = xs_get_domain_path(xsh, domid);
+        int n;
+
+        if (domp == NULL)
+                return NULL;
+
+        n = snprintf(buf, size, "%s/", domp);
+        free(domp);
+        if (n >= size)
+                return NULL;
+
+        va_start(ap, fmt);
+        n += vsnprintf(buf + n, size - n, fmt, ap);
+        va_end(ap);
+        if (n >= size)
+                return NULL;
+
+        return buf;
+}
+
+static int xenfb_device_set_domain(struct xenfb_device *dev, int domid)
+{
+        dev->otherend_id = domid;
+
+        if (!xenfb_path_in_dom(dev->xenfb->xsh,
+                               dev->otherend, sizeof(dev->otherend),
+                               domid, "device/%s/0", dev->devicetype)) {
+                errno = ENOENT;
+                return -1;
+        }
+        if (!xenfb_path_in_dom(dev->xenfb->xsh,
+                               dev->nodename, sizeof(dev->nodename),
+                               0, "backend/%s/%d/0", dev->devicetype, domid)) {
+                errno = ENOENT;
+                return -1;
+        }
+
+        return 0;
+}
+
 struct xenfb *xenfb_new(int domid, DisplayState *ds)
 {
 	struct xenfb *xenfb = qemu_malloc(sizeof(struct xenfb));
@@ -212,6 +257,10 @@ struct xenfb *xenfb_new(int domid, Displ
 	xenfb->xsh = xs_daemon_open();
 	if (!xenfb->xsh)
 		goto fail;
+
+	xenfb->ds = ds;
+	xenfb_device_set_domain(&xenfb->fb, domid);
+	xenfb_device_set_domain(&xenfb->kbd, domid);
 
 	fprintf(stderr, "FB: Waiting for KBD backend creation\n");
 	xenfb_wait_for_backend(&xenfb->kbd, xenfb_backend_created_kbd);


Index: xen.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xen/devel/xen.spec,v
retrieving revision 1.194.2.3
retrieving revision 1.194.2.4
diff -u -r1.194.2.3 -r1.194.2.4
--- xen.spec	29 Oct 2007 18:31:52 -0000	1.194.2.3
+++ xen.spec	29 Oct 2007 18:44:22 -0000	1.194.2.4
@@ -5,7 +5,7 @@
 Summary: Xen is a virtual machine monitor
 Name:    xen
 Version: 3.1.1
-Release: 0%{?dist}.4unstable
+Release: 0%{?dist}.5unstable
 Group:   Development/Libraries
 License: GPL
 URL:     http://www.cl.cam.ac.uk/Research/SRG/netos/xen/index.html
@@ -36,12 +36,13 @@
 Patch167: xen-pvfb-08-xen-console-qemu.patch
 Patch168: xen-pvfb-09-xend-device-model.patch
 Patch169: xen-pvfb-10-xen-console-ignore.patch
+Patch170: xen-pvfb-11-nodename.patch
 
-Patch170: xen-qemu-vnc-revert-password.patch
+Patch171: xen-qemu-vnc-revert-password.patch
 
-Patch171: xen-qemu-iohandler-delete.patch
-Patch172: xen-qemu-vnc-authentication.patch
-Patch173: xen-qemu-vnc-x509-certs.patch
+Patch172: xen-qemu-iohandler-delete.patch
+Patch173: xen-qemu-vnc-authentication.patch
+Patch174: xen-qemu-vnc-x509-certs.patch
 
 Patch251: pygrub-manykernels.patch
 




More information about the fedora-extras-commits mailing list