qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Peter Maydell <peter.maydell@linaro.org>
To: Richard Henderson <richard.henderson@linaro.org>
Cc: qemu-devel@nongnu.org, qemu-arm@nongnu.org
Subject: Re: [PATCH v3 02/15] linux-user/aarch64: Use SVE_LEN from hflags
Date: Tue, 31 May 2022 13:15:08 +0100	[thread overview]
Message-ID: <CAFEAcA-O7wCcgOE8XMWF0HqDg95TaLnzEnxzGF4a8F84L9NE2g@mail.gmail.com> (raw)
In-Reply-To: <20220527180623.185261-3-richard.henderson@linaro.org>

On Fri, 27 May 2022 at 19:07, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> Use the digested vector length rather than the raw zcr_el[1] value.
>
> This fixes an incorrect return from do_prctl_set_vl where we didn't
> take into account the set of vector lengths supported by the cpu.
> It also prepares us for Streaming SVE mode, where the vector length
> comes from a different cpreg.
>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---

> diff --git a/linux-user/aarch64/target_prctl.h b/linux-user/aarch64/target_prctl.h
> index 3f5a5d3933..fcbb90e881 100644
> --- a/linux-user/aarch64/target_prctl.h
> +++ b/linux-user/aarch64/target_prctl.h
> @@ -10,7 +10,7 @@ static abi_long do_prctl_get_vl(CPUArchState *env)
>  {
>      ARMCPU *cpu = env_archcpu(env);
>      if (cpu_isar_feature(aa64_sve, cpu)) {
> -        return ((cpu->env.vfp.zcr_el[1] & 0xf) + 1) * 16;
> +        return (EX_TBFLAG_A64(env->hflags, SVE_LEN) + 1) * 16;

I think env->hflags should be a private implementation detail
to target/arm and it's a bit odd to see linux-user fishing
around in it directly. Can we hide this behind a suitably
named function, please ?

thanks
-- PMM


  reply	other threads:[~2022-05-31 12:18 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-27 18:06 [PATCH v3 00/15] target/arm: SME prep patches Richard Henderson
2022-05-27 18:06 ` [PATCH v3 01/15] target/arm: Rename TBFLAG_A64 ZCR_LEN to SVE_LEN Richard Henderson
2022-05-31 12:13   ` Peter Maydell
2022-05-27 18:06 ` [PATCH v3 02/15] linux-user/aarch64: Use SVE_LEN from hflags Richard Henderson
2022-05-31 12:15   ` Peter Maydell [this message]
2022-05-27 18:06 ` [PATCH v3 03/15] target/arm: Do not use aarch64_sve_zcr_get_valid_len in reset Richard Henderson
2022-05-31 12:15   ` Peter Maydell
2022-05-31 14:28     ` Richard Henderson
2022-05-31 14:55       ` Peter Maydell
2022-05-27 18:06 ` [PATCH v3 04/15] target/arm: Merge aarch64_sve_zcr_get_valid_len into caller Richard Henderson
2022-05-27 18:06 ` [PATCH v3 05/15] target/arm: Use uint32_t instead of bitmap for sve vq's Richard Henderson
2022-05-27 18:06 ` [PATCH v3 06/15] target/arm: Rename sve_zcr_len_for_el to sve_vqm1_for_el Richard Henderson
2022-05-31 12:19   ` Peter Maydell
2022-05-27 18:06 ` [PATCH v3 07/15] target/arm: Remove fp checks from sve_exception_el Richard Henderson
2022-05-27 18:06 ` [PATCH v3 08/15] target/arm: Add el_is_in_host Richard Henderson
2022-05-31 12:24   ` Peter Maydell
2022-05-27 18:06 ` [PATCH v3 09/15] target/arm: Use el_is_in_host for sve_vqm1_for_el Richard Henderson
2022-05-31 12:26   ` Peter Maydell
2022-05-27 18:06 ` [PATCH v3 10/15] target/arm: Split out load/store primitives to sve_ldst_internal.h Richard Henderson
2022-05-31 12:26   ` Peter Maydell
2022-05-27 18:06 ` [PATCH v3 11/15] target/arm: Export sve contiguous ldst support functions Richard Henderson
2022-05-31 12:27   ` Peter Maydell
2022-05-27 18:06 ` [PATCH v3 12/15] target/arm: Move expand_pred_b to vec_internal.h Richard Henderson
2022-05-31 12:30   ` Peter Maydell
2022-05-27 18:06 ` [PATCH v3 13/15] target/arm: Use expand_pred_b in mve_helper.c Richard Henderson
2022-05-31 12:33   ` Peter Maydell
2022-05-27 18:06 ` [PATCH v3 14/15] target/arm: Move expand_pred_h to vec_internal.h Richard Henderson
2022-05-31 12:34   ` Peter Maydell
2022-05-27 18:06 ` [PATCH v3 15/15] target/arm: Export bfdotadd from vec_helper.c Richard Henderson
2022-05-31 12:35   ` 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=CAFEAcA-O7wCcgOE8XMWF0HqDg95TaLnzEnxzGF4a8F84L9NE2g@mail.gmail.com \
    --to=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.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).