From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Brook Subject: Re: [Qemu-devel] Re: [PATCH 2 of 5] add can_dma/post_dma for direct IO Date: Tue, 16 Dec 2008 16:29:58 +0000 Message-ID: <200812161630.00400.paul@codesourcery.com> References: <4946D501.4020109@codemonkey.ws> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Cc: "Blue Swirl" , "Anthony Liguori" , Andrea Arcangeli , chrisw@redhat.com, kvm@vger.kernel.org, Gerd Hoffmann , Avi Kivity To: qemu-devel@nongnu.org Return-path: Received: from mail.codesourcery.com ([65.74.133.4]:53672 "EHLO mail.codesourcery.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755969AbYLPQaE (ORCPT ); Tue, 16 Dec 2008 11:30:04 -0500 In-Reply-To: Content-Disposition: inline Sender: kvm-owner@vger.kernel.org List-ID: > The generic resolving API should look something like > > int (*resolve)(target_phys_addr_t address_in, target_phys_addr_t > length_in, target_phys_addr_t &address_out, target_phys_addr_t > &length_out) I don't think this is sufficient. A paged iommu may split a single range into multiple disjoint sections. i.e. we need SG lists. Paul