[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] tcg: Merge GETPC and GETRA
From: |
Benjamin Herrenschmidt |
Subject: |
Re: [Qemu-devel] [PATCH] tcg: Merge GETPC and GETRA |
Date: |
Tue, 26 Jul 2016 22:28:57 +1000 |
On Tue, 2016-07-26 at 06:12 +0530, Richard Henderson wrote:
> The return address argument to the softmmu template helpers was
> confused. In the legacy case, we wanted to indicate that there
> is no return address, and so passed in NULL. However, we then
> immediately subtracted GETPC_ADJ from NULL, resulting in a non-zero
> value, indicating the presence of an (invalid) return address.
>
> Push the GETPC_ADJ subtraction down to the only point it's required:
> immediately before use within cpu_restore_state, after all NULL
> pointer
> checks have been completed. This makes GETPC and GETRA identical.
>
> Remove GETRA as the lesser used macro, replacing all uses with GETPC.
>
> Signed-off-by: Richard Henderson <address@hidden>
> ---
>
> Ben, this should fix the "-2" problem that you reported. Of course,
> as also discussed in that thread, this won't fix the whole issue.
I haven't had a chance to review the details of the patch but I
verified that all my test OSes still boot with it applied ;-)
Cheers,
Ben.