On 15/05/2017 10:50, Peter Xu wrote: > This is MMIO-specific tunes on the size. Let's skip it for non-MMIO > translations.
Can you explain this better? This is not specific to MMIO, in fact it's for RAM... Paolo > Signed-off-by: Peter Xu <pet...@redhat.com> > --- > exec.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/exec.c b/exec.c > index 0adae94..32e5394 100644 > --- a/exec.c > +++ b/exec.c > @@ -455,7 +455,7 @@ address_space_translate_internal(AddressSpaceDispatch *d, > hwaddr addr, hwaddr *x > * everything works fine. If the incoming length is large, however, > * the caller really has to do the clamping through memory_access_size. > */ > - if (memory_region_is_ram(mr)) { > + if (is_mmio && memory_region_is_ram(mr)) { > diff = int128_sub(section->size, int128_make64(addr)); > *plen = int128_get64(int128_min(diff, int128_make64(*plen)));