target/riscv: move riscv_cpu_set_aia_ireg_rmw_cb() to riscv_imsic
riscv_imsic.c is the only caller. Having it sitting in the TCG only cpu_helper.c gets in the way of --disable-tcg for no good reason. Signed-off-by: Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com> Reviewed-by: Alistair Francis <alistair.francis@wdc.com> Message-ID: <20260703180538.3346781-24-daniel.barboza@oss.qualcomm.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
committed by
Alistair Francis
parent
beecb30958
commit
6dd762b415
@@ -376,6 +376,17 @@ static void riscv_imsic_reset_enter(Object *obj, ResetType type)
|
||||
}
|
||||
}
|
||||
|
||||
static void riscv_cpu_set_aia_ireg_rmw_cb(CPURISCVState *env,
|
||||
privilege_mode_t priv,
|
||||
aia_ireg_rmw_fn rmw_fn,
|
||||
void *rmw_fn_arg)
|
||||
{
|
||||
if (priv <= PRV_M) {
|
||||
env->aia_ireg_rmw_cb[priv] = rmw_fn;
|
||||
env->aia_ireg_rmw_cb_arg[priv] = rmw_fn_arg;
|
||||
}
|
||||
}
|
||||
|
||||
static void riscv_imsic_realize(DeviceState *dev, Error **errp)
|
||||
{
|
||||
RISCVIMSICState *imsic = RISCV_IMSIC(dev);
|
||||
|
||||
@@ -680,9 +680,6 @@ uint64_t riscv_cpu_update_mip(CPURISCVState *env, uint64_t mask,
|
||||
void riscv_cpu_set_rnmi(RISCVCPU *cpu, uint32_t irq, bool level);
|
||||
void riscv_cpu_interrupt(CPURISCVState *env);
|
||||
#define BOOL_TO_MASK(x) (-!!(x)) /* helper for riscv_cpu_update_mip value */
|
||||
void riscv_cpu_set_aia_ireg_rmw_cb(CPURISCVState *env, privilege_mode_t priv,
|
||||
aia_ireg_rmw_fn rmw_fn,
|
||||
void *rmw_fn_arg);
|
||||
|
||||
RISCVException smstateen_acc_ok(CPURISCVState *env, int index, uint64_t bit);
|
||||
#endif /* !CONFIG_USER_ONLY */
|
||||
|
||||
@@ -590,16 +590,6 @@ uint64_t riscv_cpu_update_mip(CPURISCVState *env, uint64_t mask, uint64_t value)
|
||||
return old;
|
||||
}
|
||||
|
||||
void riscv_cpu_set_aia_ireg_rmw_cb(CPURISCVState *env, privilege_mode_t priv,
|
||||
aia_ireg_rmw_fn rmw_fn,
|
||||
void *rmw_fn_arg)
|
||||
{
|
||||
if (priv <= PRV_M) {
|
||||
env->aia_ireg_rmw_cb[priv] = rmw_fn;
|
||||
env->aia_ireg_rmw_cb_arg[priv] = rmw_fn_arg;
|
||||
}
|
||||
}
|
||||
|
||||
static void riscv_ctr_freeze(CPURISCVState *env, uint64_t freeze_mask,
|
||||
bool virt)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user