mirror of https://github.com/xemu-project/xemu.git
riscv: Pass Object to register_cpu_props instead of DeviceState
One can extract the DeviceState pointer from the Object pointer, so pass the Object for future commits to access other fields of Object. No functional changes intended. Signed-off-by: Alexandre Ghiti <alexghiti@rivosinc.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Reviewed-by: Frank Chang <frank.chang@sifive.com> Reviewed-by: Andrew Jones <ajones@ventanamicro.com> Reviewed-by: Bin Meng <bmeng@tinylab.org> Message-ID: <20230303131252.892893-2-alexghiti@rivosinc.com> Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
This commit is contained in:
parent
7c7173679f
commit
c01756a76e
|
@ -220,7 +220,7 @@ static const char * const riscv_intr_names[] = {
|
|||
"reserved"
|
||||
};
|
||||
|
||||
static void register_cpu_props(DeviceState *dev);
|
||||
static void register_cpu_props(Object *obj);
|
||||
|
||||
const char *riscv_cpu_get_trap_name(target_ulong cause, bool async)
|
||||
{
|
||||
|
@ -258,7 +258,7 @@ static void riscv_any_cpu_init(Object *obj)
|
|||
set_misa(env, MXL_RV64, RVI | RVM | RVA | RVF | RVD | RVC | RVU);
|
||||
#endif
|
||||
set_priv_version(env, PRIV_VERSION_1_12_0);
|
||||
register_cpu_props(DEVICE(obj));
|
||||
register_cpu_props(obj);
|
||||
}
|
||||
|
||||
#if defined(TARGET_RISCV64)
|
||||
|
@ -267,7 +267,7 @@ static void rv64_base_cpu_init(Object *obj)
|
|||
CPURISCVState *env = &RISCV_CPU(obj)->env;
|
||||
/* We set this in the realise function */
|
||||
set_misa(env, MXL_RV64, 0);
|
||||
register_cpu_props(DEVICE(obj));
|
||||
register_cpu_props(obj);
|
||||
/* Set latest version of privileged specification */
|
||||
set_priv_version(env, PRIV_VERSION_1_12_0);
|
||||
}
|
||||
|
@ -276,7 +276,7 @@ static void rv64_sifive_u_cpu_init(Object *obj)
|
|||
{
|
||||
CPURISCVState *env = &RISCV_CPU(obj)->env;
|
||||
set_misa(env, MXL_RV64, RVI | RVM | RVA | RVF | RVD | RVC | RVS | RVU);
|
||||
register_cpu_props(DEVICE(obj));
|
||||
register_cpu_props(obj);
|
||||
set_priv_version(env, PRIV_VERSION_1_10_0);
|
||||
}
|
||||
|
||||
|
@ -286,7 +286,7 @@ static void rv64_sifive_e_cpu_init(Object *obj)
|
|||
RISCVCPU *cpu = RISCV_CPU(obj);
|
||||
|
||||
set_misa(env, MXL_RV64, RVI | RVM | RVA | RVC | RVU);
|
||||
register_cpu_props(DEVICE(obj));
|
||||
register_cpu_props(obj);
|
||||
set_priv_version(env, PRIV_VERSION_1_10_0);
|
||||
cpu->cfg.mmu = false;
|
||||
}
|
||||
|
@ -331,7 +331,7 @@ static void rv128_base_cpu_init(Object *obj)
|
|||
CPURISCVState *env = &RISCV_CPU(obj)->env;
|
||||
/* We set this in the realise function */
|
||||
set_misa(env, MXL_RV128, 0);
|
||||
register_cpu_props(DEVICE(obj));
|
||||
register_cpu_props(obj);
|
||||
/* Set latest version of privileged specification */
|
||||
set_priv_version(env, PRIV_VERSION_1_12_0);
|
||||
}
|
||||
|
@ -341,7 +341,7 @@ static void rv32_base_cpu_init(Object *obj)
|
|||
CPURISCVState *env = &RISCV_CPU(obj)->env;
|
||||
/* We set this in the realise function */
|
||||
set_misa(env, MXL_RV32, 0);
|
||||
register_cpu_props(DEVICE(obj));
|
||||
register_cpu_props(obj);
|
||||
/* Set latest version of privileged specification */
|
||||
set_priv_version(env, PRIV_VERSION_1_12_0);
|
||||
}
|
||||
|
@ -350,7 +350,7 @@ static void rv32_sifive_u_cpu_init(Object *obj)
|
|||
{
|
||||
CPURISCVState *env = &RISCV_CPU(obj)->env;
|
||||
set_misa(env, MXL_RV32, RVI | RVM | RVA | RVF | RVD | RVC | RVS | RVU);
|
||||
register_cpu_props(DEVICE(obj));
|
||||
register_cpu_props(obj);
|
||||
set_priv_version(env, PRIV_VERSION_1_10_0);
|
||||
}
|
||||
|
||||
|
@ -360,7 +360,7 @@ static void rv32_sifive_e_cpu_init(Object *obj)
|
|||
RISCVCPU *cpu = RISCV_CPU(obj);
|
||||
|
||||
set_misa(env, MXL_RV32, RVI | RVM | RVA | RVC | RVU);
|
||||
register_cpu_props(DEVICE(obj));
|
||||
register_cpu_props(obj);
|
||||
set_priv_version(env, PRIV_VERSION_1_10_0);
|
||||
cpu->cfg.mmu = false;
|
||||
}
|
||||
|
@ -371,7 +371,7 @@ static void rv32_ibex_cpu_init(Object *obj)
|
|||
RISCVCPU *cpu = RISCV_CPU(obj);
|
||||
|
||||
set_misa(env, MXL_RV32, RVI | RVM | RVC | RVU);
|
||||
register_cpu_props(DEVICE(obj));
|
||||
register_cpu_props(obj);
|
||||
set_priv_version(env, PRIV_VERSION_1_11_0);
|
||||
cpu->cfg.mmu = false;
|
||||
cpu->cfg.epmp = true;
|
||||
|
@ -383,7 +383,7 @@ static void rv32_imafcu_nommu_cpu_init(Object *obj)
|
|||
RISCVCPU *cpu = RISCV_CPU(obj);
|
||||
|
||||
set_misa(env, MXL_RV32, RVI | RVM | RVA | RVF | RVC | RVU);
|
||||
register_cpu_props(DEVICE(obj));
|
||||
register_cpu_props(obj);
|
||||
set_priv_version(env, PRIV_VERSION_1_10_0);
|
||||
cpu->cfg.mmu = false;
|
||||
}
|
||||
|
@ -398,7 +398,7 @@ static void riscv_host_cpu_init(Object *obj)
|
|||
#elif defined(TARGET_RISCV64)
|
||||
set_misa(env, MXL_RV64, 0);
|
||||
#endif
|
||||
register_cpu_props(DEVICE(obj));
|
||||
register_cpu_props(obj);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -1210,11 +1210,12 @@ static Property riscv_cpu_extensions[] = {
|
|||
* properties and leave. env.misa_ext = 0 means that we want
|
||||
* all the default properties to be registered.
|
||||
*/
|
||||
static void register_cpu_props(DeviceState *dev)
|
||||
static void register_cpu_props(Object *obj)
|
||||
{
|
||||
RISCVCPU *cpu = RISCV_CPU(OBJECT(dev));
|
||||
RISCVCPU *cpu = RISCV_CPU(obj);
|
||||
uint32_t misa_ext = cpu->env.misa_ext;
|
||||
Property *prop;
|
||||
DeviceState *dev = DEVICE(obj);
|
||||
|
||||
/*
|
||||
* If misa_ext is not zero, set cfg properties now to
|
||||
|
|
Loading…
Reference in New Issue