summaryrefslogtreecommitdiffstats
path: root/target/riscv
diff options
context:
space:
mode:
authorPhilipp Tomsich2022-02-02 01:52:43 +0100
committerAlistair Francis2022-02-16 03:24:18 +0100
commit466292bd4aa0908794116d96dad816e4155e8b69 (patch)
treebc4b93fee4cc9acb1de64d6ce32676805cfd62f3 /target/riscv
parenttarget/riscv: correct "code should not be reached" for x-rv128 (diff)
downloadqemu-466292bd4aa0908794116d96dad816e4155e8b69.tar.gz
qemu-466292bd4aa0908794116d96dad816e4155e8b69.tar.xz
qemu-466292bd4aa0908794116d96dad816e4155e8b69.zip
target/riscv: refactor (anonymous struct) RISCVCPU.cfg into 'struct RISCVCPUConfig'
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-2-philipp.tomsich@vrull.eu> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Diffstat (limited to 'target/riscv')
-rw-r--r--target/riscv/cpu.h78
1 files changed, 41 insertions, 37 deletions
diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h
index 55635d68d5..1175915c0d 100644
--- a/target/riscv/cpu.h
+++ b/target/riscv/cpu.h
@@ -303,6 +303,46 @@ struct RISCVCPUClass {
DeviceReset parent_reset;
};
+struct RISCVCPUConfig {
+ bool ext_i;
+ bool ext_e;
+ bool ext_g;
+ bool ext_m;
+ bool ext_a;
+ bool ext_f;
+ bool ext_d;
+ bool ext_c;
+ bool ext_s;
+ bool ext_u;
+ bool ext_h;
+ bool ext_j;
+ bool ext_v;
+ bool ext_zba;
+ bool ext_zbb;
+ bool ext_zbc;
+ bool ext_zbs;
+ bool ext_counters;
+ bool ext_ifencei;
+ bool ext_icsr;
+ bool ext_zfh;
+ bool ext_zfhmin;
+ bool ext_zve32f;
+ bool ext_zve64f;
+
+ char *priv_spec;
+ char *user_spec;
+ char *bext_spec;
+ char *vext_spec;
+ uint16_t vlen;
+ uint16_t elen;
+ bool mmu;
+ bool pmp;
+ bool epmp;
+ uint64_t resetvec;
+};
+
+typedef struct RISCVCPUConfig RISCVCPUConfig;
+
/**
* RISCVCPU:
* @env: #CPURISCVState
@@ -320,43 +360,7 @@ struct RISCVCPU {
char *dyn_vreg_xml;
/* Configuration Settings */
- struct {
- bool ext_i;
- bool ext_e;
- bool ext_g;
- bool ext_m;
- bool ext_a;
- bool ext_f;
- bool ext_d;
- bool ext_c;
- bool ext_s;
- bool ext_u;
- bool ext_h;
- bool ext_j;
- bool ext_v;
- bool ext_zba;
- bool ext_zbb;
- bool ext_zbc;
- bool ext_zbs;
- bool ext_counters;
- bool ext_ifencei;
- bool ext_icsr;
- bool ext_zfh;
- bool ext_zfhmin;
- bool ext_zve32f;
- bool ext_zve64f;
-
- char *priv_spec;
- char *user_spec;
- char *bext_spec;
- char *vext_spec;
- uint16_t vlen;
- uint16_t elen;
- bool mmu;
- bool pmp;
- bool epmp;
- uint64_t resetvec;
- } cfg;
+ RISCVCPUConfig cfg;
};
static inline int riscv_has_ext(CPURISCVState *env, target_ulong ext)