From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1L6ty2-0007pU-Ob for qemu-devel@nongnu.org; Sun, 30 Nov 2008 16:36:38 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1L6txz-0007gz-AK for qemu-devel@nongnu.org; Sun, 30 Nov 2008 16:36:38 -0500 Received: from [199.232.76.173] (port=50717 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1L6txz-0007go-1k for qemu-devel@nongnu.org; Sun, 30 Nov 2008 16:36:35 -0500 Received: from mu-out-0910.google.com ([209.85.134.184]:32580) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1L6txy-0004AT-IA for qemu-devel@nongnu.org; Sun, 30 Nov 2008 16:36:34 -0500 Received: by mu-out-0910.google.com with SMTP id w1so2017094mue.2 for ; Sun, 30 Nov 2008 13:36:32 -0800 (PST) Message-ID: Date: Sun, 30 Nov 2008 23:36:32 +0200 From: "Blue Swirl" In-Reply-To: <20081130192000.GF32172@random.random> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <20081127123538.GC10348@random.random> <20081128015602.GA31011@random.random> <20081128185001.GD31011@random.random> <20081130174133.GC32172@random.random> <20081130190408.GE32172@random.random> <20081130192000.GF32172@random.random> Subject: [Qemu-devel] Re: [RFC 1/1] pci-dma-api-v2 Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Andrea Arcangeli Cc: qemu-devel@nongnu.org On 11/30/08, Andrea Arcangeli wrote: > On Sun, Nov 30, 2008 at 09:11:28PM +0200, Blue Swirl wrote: > > Yes, this version (attached) works. > > > Ok great! ;) This looks promising. Maybe the previous attempts tried to solve several problems at once, like the complex address translation schemes I have in mind, in addition to the basic zero-copy DMA transfer.This version leaves the DMA address translation to the caller and operates using physical memory addresses. Another way would be to use directly host pointers. Regarding the code, I'd drop the "PCI", this will fit SBus, ISA or whatever bus we are using. Sparc64 does not compile, unless pci_dma.o is added to the Makefile.target list of Sparc64 objects. The first function called is pci_dma_sg, which also performs some initialization. I'd move the function pointer setup to a separate init function. Quilt complains about trailing whitespace, please trim.