qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Richard Henderson <richard.henderson@linaro.org>
To: Peter Maydell <peter.maydell@linaro.org>,
	qemu-arm@nongnu.org, qemu-devel@nongnu.org
Cc: Igor Kotrasinski <i.kotrasinsk@samsung.com>
Subject: Re: [PATCH] target/arm: Don't set EXC_RETURN.ES if Security Extension not present
Date: Fri, 16 Dec 2022 08:29:39 -0800	[thread overview]
Message-ID: <6900a10d-8128-72cd-c827-715e73473e3e@linaro.org> (raw)
In-Reply-To: <20221216152410.1185369-1-peter.maydell@linaro.org>

On 12/16/22 07:24, Peter Maydell wrote:
> In v7m_exception_taken(), for v8M we set the EXC_RETURN.ES bit if
> either the exception targets Secure or if the CPU doesn't implement
> the Security Extension.  This is incorrect: the v8M Arm ARM specifies
> that the ES bit should be RES0 if the Security Extension is not
> implemented, and the pseudocode agrees.
> 
> Remove the incorrect condition, so that we leave the ES bit 0
> if the Security Extension isn't implemented.
> 
> This doesn't have any guest-visible effects for our current set of
> emulated CPUs, because all our v8M CPUs implement the Security
> Extension; but it's worth fixing in case we add a v8M CPU without
> the extension in future.
> 
> Reported-by: Igor Kotrasinski <i.kotrasinsk@samsung.com>
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


r~

> ---
>   target/arm/m_helper.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/target/arm/m_helper.c b/target/arm/m_helper.c
> index 355cd4d60a7..2b55e90ea9d 100644
> --- a/target/arm/m_helper.c
> +++ b/target/arm/m_helper.c
> @@ -895,7 +895,7 @@ static void v7m_exception_taken(ARMCPU *cpu, uint32_t lr, bool dotailchain,
>           }
>   
>           lr &= ~R_V7M_EXCRET_ES_MASK;
> -        if (targets_secure || !arm_feature(env, ARM_FEATURE_M_SECURITY)) {
> +        if (targets_secure) {
>               lr |= R_V7M_EXCRET_ES_MASK;
>           }
>           lr &= ~R_V7M_EXCRET_SPSEL_MASK;



      reply	other threads:[~2022-12-16 16:30 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-16 15:24 [PATCH] target/arm: Don't set EXC_RETURN.ES if Security Extension not present Peter Maydell
2022-12-16 16:29 ` Richard Henderson [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6900a10d-8128-72cd-c827-715e73473e3e@linaro.org \
    --to=richard.henderson@linaro.org \
    --cc=i.kotrasinsk@samsung.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).