From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36282) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ya6dK-0000Np-Db for qemu-devel@nongnu.org; Mon, 23 Mar 2015 13:59:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ya6dH-0004wl-6O for qemu-devel@nongnu.org; Mon, 23 Mar 2015 13:59:26 -0400 Received: from mail-ig0-f182.google.com ([209.85.213.182]:37056) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ya6dH-0004wh-1N for qemu-devel@nongnu.org; Mon, 23 Mar 2015 13:59:23 -0400 Received: by igcqo1 with SMTP id qo1so45885252igc.0 for ; Mon, 23 Mar 2015 10:59:22 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <5510529B.9000703@suse.de> References: <55102594.6000902@redhat.com> <5510529B.9000703@suse.de> From: Peter Maydell Date: Mon, 23 Mar 2015 17:59:01 +0000 Message-ID: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] RFC: memory API changes List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?Q?Andreas_F=C3=A4rber?= Cc: Peter Crosthwaite , Greg Bellows , QEMU Developers , "Edgar E. Iglesias" , Paolo Bonzini , Richard Henderson On 23 March 2015 at 17:51, Andreas F=C3=A4rber wrote: > Am 23.03.2015 um 15:39 schrieb Paolo Bonzini: >> On 23/03/2015 13:24, Peter Maydell wrote: >>> The point of indicating failure via MemTxResult is that at >>> some point we need to correct the current broken handling of >>> the CPUClass do_unassigned_access hook, because that should >>> only be invoked if the CPU itself does an access to an unassigned >>> address, not if some random DMA'ing device does! >> >> 100% agreement on this. > > Just to clarify, CPUClass::do_unassigned_access() was a simple > refactoring towards multi-target builds (~two inline functions remain). > > If you rather need it on MemoryRegion level or somewhere else, feel free > to post patches, just please keep the original goal in mind. Yes, the change here would just be to hoist the callsite for the hook up to somewhere else, probably io_read*/io_write* but at any rate somewhere which is in the "definitely only for CPU generated loads and stores" code path. -- PMM