From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:58994) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QKXEp-0006kz-Uf for qemu-devel@nongnu.org; Thu, 12 May 2011 10:51:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QKXEm-0002wJ-4T for qemu-devel@nongnu.org; Thu, 12 May 2011 10:51:39 -0400 Received: from mail-qw0-f45.google.com ([209.85.216.45]:60203) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QKXEm-0002wF-0f for qemu-devel@nongnu.org; Thu, 12 May 2011 10:51:36 -0400 Received: by qwj8 with SMTP id 8so958106qwj.4 for ; Thu, 12 May 2011 07:51:35 -0700 (PDT) Sender: Paolo Bonzini Message-ID: <4DCBF3F2.6060702@redhat.com> Date: Thu, 12 May 2011 16:51:30 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1304441374-27314-1-git-send-email-pbonzini@redhat.com> In-Reply-To: <1304441374-27314-1-git-send-email-pbonzini@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 0/4] introduce cpu_physical_memory_map_fast List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: qemu-devel@nongnu.org On 05/03/2011 06:49 PM, Paolo Bonzini wrote: > Paravirtualized devices (and also some real devices) can assume they > are going to access RAM. For this reason, provide a fast-path > function with the following properties: > > 1) it will never allocate a bounce buffer > > 2) it can be used for read-modify-write operations > > 3) unlike qemu_get_ram_ptr, it is safe because it recognizes "short" blocks > > Patches 3 and 4 use this function for virtio devices and the milkymist > GPU. The latter is only compile-tested. > > Another function checks if it is possible to split a contiguous physical > address range into multiple subranges, all of which use the fast path. > I will introduce later a use for this function. > > Paolo Bonzini (4): > exec: extract cpu_physical_memory_map_internal > exec: introduce cpu_physical_memory_map_fast and > cpu_physical_memory_map_check > virtio: use cpu_physical_memory_map_fast > milkymist: use cpu_physical_memory_map_fast > > cpu-common.h | 4 ++ > exec.c | 108 +++++++++++++++++++++++++++++++++++++------------- > hw/milkymist-tmu2.c | 39 ++++++++++-------- > hw/vhost.c | 10 ++-- > hw/virtio.c | 2 +- > 5 files changed, 111 insertions(+), 52 deletions(-) > Ping? Paolo