target/riscv: move riscv_cpu_set_nmi() to tcg-cpu.c
This function is related to Smrnmi and non-masked interrupts, firing up interrupts via env->rnmip from riscv_cpu_local_irq_pending(). This is all TCG only code. 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-13-daniel.barboza@oss.qualcomm.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Daniel Henrique Barboza committed
Jul 3, 2026 at 15:05 UTC
e26e53b4abdaab47c2a055833f27e79704c78abe
2 files changed
+7
-8
target/riscv/cpu.c
-8
@@ -1180,11 +1180,6 @@ static void riscv_cpu_set_irq(void *opaque, int irq, int level)
1180
g_assert_not_reached();
1181
}
1182
}
1183
-
1184
-static void riscv_cpu_set_nmi(void *opaque, int irq, int level)
1185
-{
1186
- riscv_cpu_set_rnmi(RISCV_CPU(opaque), irq, level);
1187
-}
1183
#endif /* CONFIG_USER_ONLY */
1184
1185
static bool riscv_cpu_is_dynamic(Object *cpu_obj)
@@ -1203,9 +1198,6 @@ static void riscv_cpu_init(Object *obj)
1198
#ifndef CONFIG_USER_ONLY
1199
qdev_init_gpio_in(DEVICE(obj), riscv_cpu_set_irq,
1200
IRQ_LOCAL_MAX + IRQ_LOCAL_GUEST_MAX);
1206
- qdev_init_gpio_in_named(DEVICE(cpu), riscv_cpu_set_nmi,
1207
- "riscv.cpu.rnmi", RNMI_MAX);
1208
-
1201
if (mcc->def->num_triggers) {
1202
env->num_triggers = mcc->def->num_triggers;
1203
}
target/riscv/tcg/tcg-cpu.c
+7
@@ -1662,6 +1662,11 @@ static void riscv_register_custom_csrs(RISCVCPU *cpu, const RISCVCSR *csr_list)
1662
}
1663
}
1664
}
1665
+
1666
+static inline void riscv_cpu_set_nmi(void *opaque, int irq, int level)
1667
+{
1668
+ riscv_cpu_set_rnmi(RISCV_CPU(opaque), irq, level);
1669
+}
1670
#endif
1671
1672
static void riscv_tcg_cpu_instance_init(CPUState *cs)
@@ -1674,6 +1679,8 @@ static void riscv_tcg_cpu_instance_init(CPUState *cs)
1679
if (mcc->def->custom_csrs) {
1680
riscv_register_custom_csrs(cpu, mcc->def->custom_csrs);
1681
}
1682
+ qdev_init_gpio_in_named(DEVICE(cpu), riscv_cpu_set_nmi,
1683
+ "riscv.cpu.rnmi", RNMI_MAX);
1684
#endif
1685
1686
misa_ext_user_opts = g_hash_table_new(NULL, g_direct_equal);