From: Fabiano Rosas <farosas@suse.de>
To: "Alex Bennée" <alex.bennee@linaro.org>, qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org, "Alex Bennée" <alex.bennee@linaro.org>,
"Ilias Apalodimas" <ilias.apalodimas@linaro.org>,
"Peter Maydell" <peter.maydell@linaro.org>
Subject: Re: [RFC PATCH] target/arm: disable FEAT_SME if we turn off SVE
Date: Tue, 07 Feb 2023 10:45:20 -0300 [thread overview]
Message-ID: <87cz6loahb.fsf@suse.de> (raw)
In-Reply-To: <20230203100551.2445547-1-alex.bennee@linaro.org>
Alex Bennée <alex.bennee@linaro.org> writes:
> Before this change booting a -cpu max,sve=off would trigger and
> assert:
>
> qemu-system-aarch64: ../../target/arm/helper.c:6647: sve_vqm1_for_el_sm: Assertion `sm' failed.
>
> when the guest attempts to write to SMCR which shouldn't even exist if
> SVE has been turned off.
>
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
> ---
> target/arm/cpu64.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c
> index 0e021960fb..a38d43421a 100644
> --- a/target/arm/cpu64.c
> +++ b/target/arm/cpu64.c
> @@ -409,6 +409,13 @@ static void cpu_arm_set_sve(Object *obj, bool value, Error **errp)
> t = cpu->isar.id_aa64pfr0;
> t = FIELD_DP64(t, ID_AA64PFR0, SVE, value);
> cpu->isar.id_aa64pfr0 = t;
> +
> + /* FEAT_SME requires SVE, so disable it if no SVE */
> + if (!value) {
> + t = cpu->isar.id_aa64pfr1;
> + t = FIELD_DP64(t, ID_AA64PFR1, SME, 0);
> + cpu->isar.id_aa64pfr1 = t;
> + }
What about -cpu max,sve=off,sme=on ?
next prev parent reply other threads:[~2023-02-07 13:45 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-03 10:05 [RFC PATCH] target/arm: disable FEAT_SME if we turn off SVE Alex Bennée
2023-02-07 13:45 ` Fabiano Rosas [this message]
2023-02-07 15:09 ` Alex Bennée
2023-02-10 14:07 ` Markus Armbruster
2023-02-10 14:39 ` Peter Maydell
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=87cz6loahb.fsf@suse.de \
--to=farosas@suse.de \
--cc=alex.bennee@linaro.org \
--cc=ilias.apalodimas@linaro.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.