On 16 April 2013 00:19, Scott Wood <scottw...@freescale.com> wrote: > This is useful for when a user of the memory region API needs to > communicate the absolute bus address to something outside QEMU > (in particular, KVM). > > Signed-off-by: Scott Wood <scottw...@freescale.com> > --- > TODO: Use add/del memory listeners later in the patchset, which would > eliminate the need for this patch.
Yes, please do. > +/* memory_region_to_address: Find the full address of the start of the > + * given #MemoryRegion, ignoring aliases. There is no guarantee > + * that the #MemoryRegion is actually visible at this address, if > + * there are overlapping regions. > + * > + * @mr: #MemoryRegion being queried > + * @asp: if non-NULL, returns the #AddressSpace @mr is mapped in, if any > + */ > +hwaddr memory_region_to_address(MemoryRegion *mr, AddressSpace **asp); A MemoryRegion can appear in more than one AddressSpace (or none at all), so I don't think this is a very clearly defined API to put in the memory API itself. (It's ok to make that kind of assumption as a user of the memory APIs for particular cases, eg in how a memory listener callback function behaves. But we shouldn't be baking those assumptions into new API functions.) thanks -- PMM