From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JfrcX-0004xe-0j for qemu-devel@nongnu.org; Sun, 30 Mar 2008 03:06:25 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JfrcV-0004x9-9J for qemu-devel@nongnu.org; Sun, 30 Mar 2008 03:06:24 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JfrcV-0004x1-52 for qemu-devel@nongnu.org; Sun, 30 Mar 2008 03:06:23 -0400 Received: from mx20.gnu.org ([199.232.41.8]) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1JfrcU-0005rQ-PX for qemu-devel@nongnu.org; Sun, 30 Mar 2008 03:06:22 -0400 Received: from fk-out-0910.google.com ([209.85.128.187]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JfrcU-0004h3-0A for qemu-devel@nongnu.org; Sun, 30 Mar 2008 03:06:22 -0400 Received: by fk-out-0910.google.com with SMTP id 18so1507305fkq.2 for ; Sun, 30 Mar 2008 00:06:19 -0700 (PDT) Message-ID: Date: Sun, 30 Mar 2008 10:06:19 +0300 From: "Blue Swirl" Subject: Re: [Qemu-devel] [PATCH 2/6] PCI DMA API In-Reply-To: <1206827760-4566-2-git-send-email-aliguori@us.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <1206827760-4566-1-git-send-email-aliguori@us.ibm.com> <1206827760-4566-2-git-send-email-aliguori@us.ibm.com> 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 Cc: kvm-devel@lists.sourceforge.net, Marcelo Tosatti , Anthony Liguori , Aurelien Jarno On 3/30/08, Anthony Liguori wrote: > This patch introduces a PCI DMA API and some generic code to support other DMA > APIs. Two types are introduced: PhysIOVector and IOVector. A DMA API > maps a PhysIOVector, which is composed of target_phys_addr_t, into an IOVector, > which is composed of void *. This looks like it wouldn't scale to handle the Sparc systems. There we want to make more translation steps from DVMA addresses to physical in DMA controller and IOMMU and only in the final stage to void *. To handle this, probably there should be an opaque parameter and some way to register the translation function. Otherwise the API looks OK.