[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 3/4] target/arm: Recalculate hflags correctly after writes to
From: |
Richard Henderson |
Subject: |
Re: [PATCH 3/4] target/arm: Recalculate hflags correctly after writes to CONTROL |
Date: |
Tue, 3 Mar 2020 10:37:43 -0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 |
On 3/3/20 9:49 AM, Peter Maydell wrote:
> A write to the CONTROL register can change our current EL (by
> writing to the nPRIV bit). That means that we can't assume
> that s->current_el is still valid in trans_MSR_v7m() when
> we try to rebuild the hflags.
>
> Add a new helper rebuild_hflags_m32_newel() which, like the
> existing rebuild_hflags_a32_newel(), recalculates the current
> EL from scratch, and use it in trans_MSR_v7m().
>
> This fixes an assertion about an hflags mismatch when the
> guest changes privilege by writing to CONTROL.
>
> Signed-off-by: Peter Maydell <address@hidden>
> ---
> target/arm/helper.h | 1 +
> target/arm/helper.c | 12 ++++++++++++
> target/arm/translate.c | 7 +++----
> 3 files changed, 16 insertions(+), 4 deletions(-)
Reviewed-by: Richard Henderson <address@hidden>
r~