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 <peterx@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)));