From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LUgol-0007xh-Kw for qemu-devel@nongnu.org; Wed, 04 Feb 2009 07:25:24 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LUgok-0007w0-0M for qemu-devel@nongnu.org; Wed, 04 Feb 2009 07:25:23 -0500 Received: from [199.232.76.173] (port=39670 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LUgoi-0007vb-LS for qemu-devel@nongnu.org; Wed, 04 Feb 2009 07:25:20 -0500 Received: from mx2.redhat.com ([66.187.237.31]:56931) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LUgoi-0007hw-4S for qemu-devel@nongnu.org; Wed, 04 Feb 2009 07:25:20 -0500 From: Avi Kivity Date: Wed, 4 Feb 2009 14:25:10 +0200 Message-Id: <1233750314-23301-1-git-send-email-avi@redhat.com> Subject: [Qemu-devel] [PATCH 0/4] Block DMA helpers Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, Anthony Liguori The current dma mapping API is fairly complex to use: mapping can fail when bounce resources are exhausted, requiring the caller to reschedule, and the interface is fairly low level. This patchset introduces block device oriented helpers to centralize this logic. Devices need only submit a scatter/gather list, and the helpers will do all the dirty work of mapping, rescheduling, and unmapping. IDE has been converted to the new API. Avi Kivity (4): Add a scatter-gather list type and accessors Add qemu_iovec_reset() Introduce block dma helpers Convert IDE to use new dma helpers Makefile.target | 2 +- cutils.c | 6 ++ dma-helpers.c | 146 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ dma.h | 32 ++++++++++++ hw/ide.c | 76 ++++------------------------- qemu-common.h | 1 + 6 files changed, 196 insertions(+), 67 deletions(-) create mode 100644 dma-helpers.c create mode 100644 dma.h