This is MMIO-specific tunes on the size. Let's skip it for non-MMIO translations.
Signed-off-by: Peter Xu <[email protected]> --- 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))); } -- 2.7.4
