From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v3 0/3] usb, xen: add pvUSB backend Date: Fri, 6 May 2016 11:42:43 +0200 Message-ID: <1462527766-26462-1-git-send-email-jgross@suse.com> Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org Sender: "Qemu-devel" To: qemu-devel@nongnu.org, xen-devel@lists.xensource.com Cc: anthony.perard@citrix.com, Juergen Gross , konrad.wilk@oracle.com, kraxel@redhat.com, stefano.stabellini@eu.citrix.com List-Id: xen-devel@lists.xenproject.org This series adds a Xen pvUSB backend driver to qemu. USB devices connected to the host can be passed through to a Xen guest. The devices are specified via Xenstore. Access to the devices is done via host-libusb.c I've tested the backend with various USB devices (memory sticks, keyboard, ...). Changes in V3: - added new patch 2 (was sent formerly on it's own) - patch 3 (was 2): multiple small changes as requested by Anthony Perard - patch 3 (was 2): check for full ring in case of hotplug events as requested by Anthony Perard - patch 3 (was 2): use RING_COPY_REQUEST() instead of RING_GET_REQUEST() - patch 3 (was 2): add check for required header version and disable backend in case header is too old Changes in V2: - rebased to current qemu master - removed support for isoc requests in this series, as the optimal way to support those isn't clear yet. Will be added in a followup series. - several changes as requested by Stefano Stabellini and Konrad Wilk Changes since RFC: - open device via qdev_device_add(), making patch 1 obsolete - modify patch 2 to use isoc passthrough via libusb instead of one job per frame Juergen Gross (3): xen: introduce dummy system device xen: write information about supported backends xen: add pvUSB backend hw/usb/Makefile.objs | 4 + hw/usb/xen-usb.c | 1080 ++++++++++++++++++++++++++++++++++++++++++ hw/xen/xen_backend.c | 60 +++ hw/xen/xen_devconfig.c | 52 +- hw/xenpv/xen_machine_pv.c | 43 ++ include/hw/xen/xen_backend.h | 6 + include/hw/xen/xen_common.h | 2 + 7 files changed, 1197 insertions(+), 50 deletions(-) create mode 100644 hw/usb/xen-usb.c -- 2.6.6