[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 4/7] target/riscv: access cfg structure through DisasContext
From: |
Philipp Tomsich |
Subject: |
[PATCH v4 4/7] target/riscv: access cfg structure through DisasContext |
Date: |
Mon, 31 Jan 2022 00:57:56 +0100 |
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>
Suggested-by: Richard Henderson <richard.henderson@linaro.org>
---
(no changes since v3)
Changes in v3:
- (new patch) change Zb[abcs] implementation to use cfg_ptr (copied
into DisasContext) instead of going throuhg RISCV_CPU
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.33.1
- [PATCH v4 0/7] target/riscv: Add XVentanaCondOps and supporting infrastructure changes, Philipp Tomsich, 2022/01/30
- [PATCH v4 4/7] target/riscv: access cfg structure through DisasContext,
Philipp Tomsich <=
- [PATCH v4 2/7] target/riscv: riscv_tr_init_disas_context: copy pointer-to-cfg into cfg_ptr, Philipp Tomsich, 2022/01/30
- [PATCH v4 3/7] target/riscv: access configuration through cfg_ptr in DisasContext, Philipp Tomsich, 2022/01/30
- [PATCH v4 5/7] target/riscv: iterate over a table of decoders, Philipp Tomsich, 2022/01/30
- [PATCH v4 6/7] target/riscv: Add XVentanaCondOps custom extension, Philipp Tomsich, 2022/01/30
- [PATCH v4 1/7] target/riscv: refactor (anonymous struct) RISCVCPU.cfg into 'struct RISCVCPUConfig', Philipp Tomsich, 2022/01/30
- [PATCH v4 7/7] target/riscv: add a MAINTAINERS entry for XVentanaCondOps, Philipp Tomsich, 2022/01/30
- Re: [PATCH v4 0/7] target/riscv: Add XVentanaCondOps and supporting infrastructure changes, Richard Henderson, 2022/01/31