[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PULL v2 07/35] target/riscv: access cfg structure through DisasCont
From: |
Alistair Francis |
Subject: |
Re: [PULL v2 07/35] target/riscv: access cfg structure through DisasContext |
Date: |
Thu, 17 Feb 2022 08:14:59 +1000 |
On Wed, Feb 16, 2022 at 8:24 PM Philipp Tomsich
<philipp.tomsich@vrull.eu> wrote:
>
> Alistair,
>
> This PULL seems not to include the fixup (which you had intended to
> squash into it) for the regression introduced (i.e. the condition
> being inverted):
>
> 20220203153946.2676353-1-philipp.tomsich@vrull.eu/">https://patchwork.kernel.org/project/qemu-devel/patch/20220203153946.2676353-1-philipp.tomsich@vrull.eu/
Well....
It does not include it and I'm not really sure why it doesn't. The V1
PR didn't either.
I thought I had applied it, but I guess not. I have actually applied
it to riscv-to-apply.next now
Alistair
> Without that change this will introduce a regression in Zb[abcs]
> (i.e., it will be enabled when it shouldn't be, and will be disabled
> when it should be on).
>
> Please ignore, if I missed a later stand-alone patch (I just looked at
> the series in Patchworks).
>
> Thanks,
> Philipp.
>
>
> On Wed, 16 Feb 2022 at 07:29, Alistair Francis
> <alistair.francis@opensource.wdc.com> wrote:
> >
> > From: Philipp Tomsich <philipp.tomsich@vrull.eu>
> >
> > The Zb[abcs] support code still uses the RISCV_CPU macros to access
> > the configuration information (i.e., check whether an extension is
> > available/enabled). Now that we provide this information directly
> > from DisasContext, we can access this directly via the cfg_ptr field.
> >
> > Signed-off-by: Philipp Tomsich <philipp.tomsich@vrull.eu>
> > Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
> > Suggested-by: Richard Henderson <richard.henderson@linaro.org>
> > Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> > Message-Id: <20220202005249.3566542-5-philipp.tomsich@vrull.eu>
> > Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
> > ---
> > target/riscv/insn_trans/trans_rvb.c.inc | 8 ++++----
> > 1 file changed, 4 insertions(+), 4 deletions(-)
> >
> > diff --git a/target/riscv/insn_trans/trans_rvb.c.inc
> > b/target/riscv/insn_trans/trans_rvb.c.inc
> > index 810431a1d6..f9bd3b7ec4 100644
> > --- a/target/riscv/insn_trans/trans_rvb.c.inc
> > +++ b/target/riscv/insn_trans/trans_rvb.c.inc
> > @@ -19,25 +19,25 @@
> > */
> >
> > #define REQUIRE_ZBA(ctx) do { \
> > - if (!RISCV_CPU(ctx->cs)->cfg.ext_zba) { \
> > + if (ctx->cfg_ptr->ext_zba) { \
> > return false; \
> > } \
> > } while (0)
> >
> > #define REQUIRE_ZBB(ctx) do { \
> > - if (!RISCV_CPU(ctx->cs)->cfg.ext_zbb) { \
> > + if (ctx->cfg_ptr->ext_zbb) { \
> > return false; \
> > } \
> > } while (0)
> >
> > #define REQUIRE_ZBC(ctx) do { \
> > - if (!RISCV_CPU(ctx->cs)->cfg.ext_zbc) { \
> > + if (ctx->cfg_ptr->ext_zbc) { \
> > return false; \
> > } \
> > } while (0)
> >
> > #define REQUIRE_ZBS(ctx) do { \
> > - if (!RISCV_CPU(ctx->cs)->cfg.ext_zbs) { \
> > + if (ctx->cfg_ptr->ext_zbs) { \
> > return false; \
> > } \
> > } while (0)
> > --
> > 2.34.1
> >
- [PULL v2 00/35] riscv-to-apply queue, Alistair Francis, 2022/02/16
- [PULL v2 01/35] include: hw: remove ibex_plic.h, Alistair Francis, 2022/02/16
- [PULL v2 02/35] Allow setting up to 8 bytes with the generic loader, Alistair Francis, 2022/02/16
- [PULL v2 04/35] target/riscv: refactor (anonymous struct) RISCVCPU.cfg into 'struct RISCVCPUConfig', Alistair Francis, 2022/02/16
- [PULL v2 05/35] target/riscv: riscv_tr_init_disas_context: copy pointer-to-cfg into cfg_ptr, Alistair Francis, 2022/02/16
- [PULL v2 03/35] target/riscv: correct "code should not be reached" for x-rv128, Alistair Francis, 2022/02/16
- [PULL v2 06/35] target/riscv: access configuration through cfg_ptr in DisasContext, Alistair Francis, 2022/02/16
- [PULL v2 07/35] target/riscv: access cfg structure through DisasContext, Alistair Francis, 2022/02/16
- [PULL v2 08/35] target/riscv: iterate over a table of decoders, Alistair Francis, 2022/02/16
- [PULL v2 09/35] target/riscv: Add XVentanaCondOps custom extension, Alistair Francis, 2022/02/16
- [PULL v2 10/35] target/riscv: add a MAINTAINERS entry for XVentanaCondOps, Alistair Francis, 2022/02/16
- [PULL v2 11/35] target/riscv: Fix vill field write in vtype, Alistair Francis, 2022/02/16
- [PULL v2 12/35] target/riscv: Fix trap cause for RV32 HS-mode CSR access from RV64 HS-mode, Alistair Francis, 2022/02/16
- [PULL v2 13/35] target/riscv: Implement SGEIP bit in hip and hie CSRs, Alistair Francis, 2022/02/16
- [PULL v2 14/35] target/riscv: Implement hgeie and hgeip CSRs, Alistair Francis, 2022/02/16
- [PULL v2 15/35] target/riscv: Improve delivery of guest external interrupts, Alistair Francis, 2022/02/16
- [PULL v2 16/35] target/riscv: Allow setting CPU feature from machine/device emulation, Alistair Francis, 2022/02/16
- [PULL v2 17/35] target/riscv: Add AIA cpu feature, Alistair Francis, 2022/02/16