On 28 December 2017 at 18:08, Luke Shumaker <[email protected]> wrote:
> From: Luke Shumaker <[email protected]>
>
> 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 <[email protected]>
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 <[email protected]>
thanks
-- PMM