qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 01/10] linux-user: Use #if to only call validate


From: Peter Maydell
Subject: Re: [Qemu-devel] [PATCH 01/10] linux-user: Use #if to only call validate_guest_space for 32-bit ARM target
Date: Fri, 2 Mar 2018 13:18:24 +0000

On 28 December 2017 at 18:08, Luke Shumaker <address@hidden> wrote:
> From: Luke Shumaker <address@hidden>
>
> Instead of defining a bogus validate_guest_space that always returns 1 on
> targets other than 32-bit ARM, use #if blocks to only call it on 32-bit ARM
> targets.  This makes the "normal" flow control clearer.
>
> Signed-off-by: Luke Shumaker <address@hidden>

Yes, I think on reflection that you're right and we're better off
leaving this arm-specific. If/when we find another target that needs
special handling, we can look at a more generic API then.

> @@ -1845,11 +1835,12 @@ unsigned long init_guest_space(unsigned long 
> host_start,
>      /* If just a starting address is given, then just verify that
>       * address.  */
>      if (host_start && !host_size) {
> +#if defined(TARGET_ARM) && !defined(TARGET_AARCH64)
>          if (validate_guest_space(host_start, host_size) == 1) {
> -            return host_start;
> -        } else {
>              return (unsigned long)-1;
>          }
> +#endif
> +        return host_start;

This is accidentally changing behaviour -- if validate_guest_space()
returned 1 we used to return host_start, and now we return -1.
The condition should be "!= 1". This change is made in patch 2,
but it should be done here, to avoid breaking bisection.

Otherwise

Reviewed-by: Peter Maydell <address@hidden>

thanks
-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]