From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:59985) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TEeys-0001BI-Vz for qemu-devel@nongnu.org; Thu, 20 Sep 2012 07:31:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TEeyr-0007Ds-TA for qemu-devel@nongnu.org; Thu, 20 Sep 2012 07:31:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:21739) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TEeyr-0007Dn-Ko for qemu-devel@nongnu.org; Thu, 20 Sep 2012 07:31:41 -0400 Message-ID: <505AFE98.10906@redhat.com> Date: Thu, 20 Sep 2012 14:31:36 +0300 From: Avi Kivity MIME-Version: 1.0 References: <50532E80.5060905@redhat.com> <5059C069.3010108@redhat.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] directory hierarchy List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Blue Swirl Cc: Paolo Bonzini , qemu-devel On 09/19/2012 10:57 PM, Blue Swirl wrote: > On Wed, Sep 19, 2012 at 12:54 PM, Avi Kivity wrote: >> On 09/14/2012 10:51 PM, Blue Swirl wrote: >>>> >>>> exec: >>> >>> These files need cleanup so that TCG code gets into tcg/. Maybe also >>> TB and CPUTLB handling. >> >> Some of that could be done by adding a separate MemoryListener for tcg. > > But the TBs and CPUTLB are based on virtual mappings, it would mean > that MMU maps would have to be modeled using memory API. Is that fast > enough? No. The memory API is designed to be fast on reads at the expense of being slow on writes, and this will get worse as rcu is added. I meant that the various calls to invalidate tcg-specific caches can use a tcg-specific MemoryListener. > This could have nice cleanup effects though and for example enable > generic 'info vmtree' to discover VA->PA mappings for any target > instead of current MMU table walkers. How? That's in a hardware defined format that's completely invisible to the memory API. -- error compiling committee.c: too many arguments to function