From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:51505) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qiq6Z-00050k-2j for qemu-devel@nongnu.org; Mon, 18 Jul 2011 11:51:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Qiq6X-0002hP-CY for qemu-devel@nongnu.org; Mon, 18 Jul 2011 11:51:34 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42210) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Qiq6W-0002gy-Oi for qemu-devel@nongnu.org; Mon, 18 Jul 2011 11:51:32 -0400 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p6IFpVqg017387 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 18 Jul 2011 11:51:31 -0400 From: Gerd Hoffmann Date: Mon, 18 Jul 2011 17:51:19 +0200 Message-Id: <1311004288-10970-1-git-send-email-kraxel@redhat.com> Subject: [Qemu-devel] [PATCH 0/9] usb: replace buffers with iovecs. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Gerd Hoffmann Hi, This patch series introduces iovecs to the USB subsystem, usb packet payload is passed around as iovec instead of a linear buffer. This allows the host controllers to use scatter lists and to pass on data buffers directly, so we can avoid an extra copy. please review, Gerd Gerd Hoffmann (9): Add iov_hexdump() Add iov_clear() move QEMUSGList typedef usb: use iovecs in USBPacket usb-serial: iovec support usb-host: iovec support usb-storage: iovec support uhci: remove buffer ehci: iovec support, remove buffer Makefile.objs | 1 + dma.h | 4 +- hw/bt-hid.c | 16 +++--- hw/milkymist-softusb.c | 8 +- hw/usb-bt.c | 31 ++++------ hw/usb-ccid.c | 46 ++++++++------ hw/usb-ehci.c | 160 ++++++++++++++++++++---------------------------- hw/usb-hid.c | 6 +- hw/usb-hub.c | 8 ++- hw/usb-libhw.c | 63 +++++++++++++++++++ hw/usb-msd.c | 109 ++++++++++++++++----------------- hw/usb-musb.c | 22 +++--- hw/usb-net.c | 65 +++++++------------- hw/usb-ohci.c | 23 +++---- hw/usb-serial.c | 26 +++++--- hw/usb-uhci.c | 51 +++++++-------- hw/usb-wacom.c | 6 +- hw/usb.c | 86 +++++++++++++++++++++---- hw/usb.h | 13 +++- iov.c | 54 ++++++++++++++++ iov.h | 4 + qemu-common.h | 1 + usb-linux.c | 48 +++++++++------ 23 files changed, 500 insertions(+), 351 deletions(-) create mode 100644 hw/usb-libhw.c