On 23 March 2015 at 17:51, Andreas Färber <afaer...@suse.de> 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