From: Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com>
To: frederic.petrot@univ-grenoble-alpes.fr, palmer@dabbelt.com,
alistair.francis@wdc.com, liwei1518@gmail.com,
zhiwei_liu@linux.alibaba.com, chao.liu@processmission.com,
qemu-riscv@nongnu.org, qemu-devel@nongnu.org
Subject: Re: [PATCH 2/2] target/riscv: Allow UXL to be 3 in mstatus on rv128
Date: Fri, 7 Aug 2026 06:23:33 -0300 [thread overview]
Message-ID: <be5d04a5-1ff7-4654-aa48-e53d55bab914@oss.qualcomm.com> (raw)
In-Reply-To: <20260729083941.103646-2-frederic.petrot@univ-grenoble-alpes.fr>
On 7/29/2026 5:39 AM, frederic.petrot@univ-grenoble-alpes.fr wrote:
> From: Frédéric Pétrot <frederic.petrot@univ-grenoble-alpes.fr>
>
> Valid UXL field values for mstatus were restricted to fix a
> reported issue, but this inadvertently broke the experimental
> rv128 support where a value of 3 validly represents 128-bit
> execution.
>
> Update the mstatus write logic to permit UXL=3 when running on
> an rv128 CPU.
>
> Fixes: dcd028517749 ("target/riscv: Apply UXL WARL handling to vsstatus")
> Signed-off-by: Frédéric Pétrot <frederic.petrot@univ-grenoble-alpes.fr>
> ---
Reviewed-by: Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com>
> target/riscv/tcg/csr.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/target/riscv/tcg/csr.c b/target/riscv/tcg/csr.c
> index d834b77714..5eeb9f0e0f 100644
> --- a/target/riscv/tcg/csr.c
> +++ b/target/riscv/tcg/csr.c
> @@ -2014,8 +2014,8 @@ static uint64_t riscv_write_uxl(CPURISCVState *env, uint64_t val,
> RISCVMXL xl = riscv_cpu_mxl(env);
> uint64_t uxl = get_field(val, field);
>
> - if (uxl == MXL_RV128) {
> - uxl = xl == MXL_RV128 ? MXL_RV64 : xl;
> + if (xl != MXL_RV128 && uxl == MXL_RV128) {
> + uxl = xl;
> val = set_field(val, field, uxl);
> }
>
next prev parent reply other threads:[~2026-08-07 9:23 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-29 8:39 [PATCH 1/2] target/riscv: Fix sstatus update in rv128 frederic.petrot
2026-07-29 8:39 ` [PATCH 2/2] target/riscv: Allow UXL to be 3 in mstatus on rv128 frederic.petrot
2026-08-07 9:23 ` Daniel Henrique Barboza [this message]
2026-08-07 9:23 ` [PATCH 1/2] target/riscv: Fix sstatus update in rv128 Daniel Henrique Barboza
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=be5d04a5-1ff7-4654-aa48-e53d55bab914@oss.qualcomm.com \
--to=daniel.barboza@oss.qualcomm.com \
--cc=alistair.francis@wdc.com \
--cc=chao.liu@processmission.com \
--cc=frederic.petrot@univ-grenoble-alpes.fr \
--cc=liwei1518@gmail.com \
--cc=palmer@dabbelt.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-riscv@nongnu.org \
--cc=zhiwei_liu@linux.alibaba.com \
/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.