@samitouri / QOSamiQemu / commits / 705fe3819b

target/riscv: move riscv_cpu_claim_interrupts to cpu.c

The function is used by hw/intc/ files that KVM cares about like riscv_aplic.c. Move it to cpu.c to be accessible for --disable-tcg builds. 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-15-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 705fe3819b13c66d5ef36e78aade78c18351b0b8
2 files changed +14 -11
target/riscv/cpu.c
+14
@@ -573,6 +573,20 @@ target_ulong riscv_new_csr_seed(target_ulong new_value,
573 return rval;
574 }
575
576 +#ifndef CONFIG_USER_ONLY
577 +/* Used by lots of folks in hw/intc */
578 +int riscv_cpu_claim_interrupts(RISCVCPU *cpu, uint64_t interrupts)
579 +{
580 + CPURISCVState *env = &cpu->env;
581 + if (env->miclaim & interrupts) {
582 + return -1;
583 + } else {
584 + env->miclaim |= interrupts;
585 + return 0;
586 + }
587 +}
588 +#endif
589 +
590 static ObjectClass *riscv_cpu_class_by_name(const char *cpu_model)
591 {
592 ObjectClass *oc;
target/riscv/tcg/cpu_helper.c
-11
@@ -572,17 +572,6 @@ void riscv_cpu_set_rnmi(RISCVCPU *cpu, uint32_t irq, bool level)
572 }
573 }
574
575 -int riscv_cpu_claim_interrupts(RISCVCPU *cpu, uint64_t interrupts)
576 -{
577 - CPURISCVState *env = &cpu->env;
578 - if (env->miclaim & interrupts) {
579 - return -1;
580 - } else {
581 - env->miclaim |= interrupts;
582 - return 0;
583 - }
584 -}
585 -
575 void riscv_cpu_interrupt(CPURISCVState *env)
576 {
577 uint64_t gein, vsgein = 0, vstip = 0, irqf = 0;