[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 02/17] target/riscv: make riscv_cpu_is_vendor() public
From: |
Daniel Henrique Barboza |
Subject: |
[PATCH v4 02/17] target/riscv: make riscv_cpu_is_vendor() public |
Date: |
Fri, 5 Jan 2024 20:05:31 -0300 |
We'll use this function in target/riscv/cpu.c to implement setters that
won't allow vendor CPU options to be changed.
Signed-off-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
---
target/riscv/cpu.c | 5 +++++
target/riscv/cpu.h | 1 +
target/riscv/tcg/tcg-cpu.c | 5 -----
3 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c
index cce8165d69..025c6cb23c 100644
--- a/target/riscv/cpu.c
+++ b/target/riscv/cpu.c
@@ -190,6 +190,11 @@ void isa_ext_update_enabled(RISCVCPU *cpu, uint32_t
ext_offset, bool en)
*ext_enabled = en;
}
+bool riscv_cpu_is_vendor(Object *cpu_obj)
+{
+ return object_dynamic_cast(cpu_obj, TYPE_RISCV_VENDOR_CPU) != NULL;
+}
+
const char * const riscv_int_regnames[] = {
"x0/zero", "x1/ra", "x2/sp", "x3/gp", "x4/tp", "x5/t0", "x6/t1",
"x7/t2", "x8/s0", "x9/s1", "x10/a0", "x11/a1", "x12/a2", "x13/a3",
diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h
index 1c5ab8bd0e..1ece80a604 100644
--- a/target/riscv/cpu.h
+++ b/target/riscv/cpu.h
@@ -773,6 +773,7 @@ enum riscv_pmu_event_idx {
void isa_ext_update_enabled(RISCVCPU *cpu, uint32_t ext_offset, bool en);
bool isa_ext_is_enabled(RISCVCPU *cpu, uint32_t ext_offset);
void riscv_cpu_set_misa(CPURISCVState *env, RISCVMXL mxl, uint32_t ext);
+bool riscv_cpu_is_vendor(Object *cpu_obj);
typedef struct RISCVCPUMultiExtConfig {
const char *name;
diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c
index 14133ff665..2c2ce51b19 100644
--- a/target/riscv/tcg/tcg-cpu.c
+++ b/target/riscv/tcg/tcg-cpu.c
@@ -917,11 +917,6 @@ static bool riscv_cpu_is_generic(Object *cpu_obj)
return object_dynamic_cast(cpu_obj, TYPE_RISCV_DYNAMIC_CPU) != NULL;
}
-static bool riscv_cpu_is_vendor(Object *cpu_obj)
-{
- return object_dynamic_cast(cpu_obj, TYPE_RISCV_VENDOR_CPU) != NULL;
-}
-
/*
* We'll get here via the following path:
*
--
2.43.0
- [PATCH v4 00/17] target/riscv: deprecate riscv_cpu_options[], Daniel Henrique Barboza, 2024/01/05
- [PATCH v4 01/17] target/riscv/cpu_cfg.h: remove unused fields, Daniel Henrique Barboza, 2024/01/05
- [PATCH v4 02/17] target/riscv: make riscv_cpu_is_vendor() public,
Daniel Henrique Barboza <=
- [PATCH v4 03/17] target/riscv: move 'pmu-mask' and 'pmu-num' to riscv_cpu_properties[], Daniel Henrique Barboza, 2024/01/05
- [PATCH v4 05/17] target/riscv: move 'pmp' to riscv_cpu_properties[], Daniel Henrique Barboza, 2024/01/05
- [PATCH v4 04/17] target/riscv: move 'mmu' to riscv_cpu_properties[], Daniel Henrique Barboza, 2024/01/05
- [PATCH v4 06/17] target/riscv: rework 'priv_spec', Daniel Henrique Barboza, 2024/01/05
- [PATCH v4 07/17] target/riscv: rework 'vext_spec', Daniel Henrique Barboza, 2024/01/05
- [PATCH v4 08/17] target/riscv: move 'vlen' to riscv_cpu_properties[], Daniel Henrique Barboza, 2024/01/05
- [PATCH v4 09/17] target/riscv: move 'elen' to riscv_cpu_properties[], Daniel Henrique Barboza, 2024/01/05
- [PATCH v4 10/17] target/riscv: create finalize_features() for KVM, Daniel Henrique Barboza, 2024/01/05
- [PATCH v4 11/17] target/riscv: move 'cbom_blocksize' to riscv_cpu_properties[], Daniel Henrique Barboza, 2024/01/05