target/sparc: Move has_work() from CPUClass to SysemuCPUOps

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20250125170125.32855-22-philmd@linaro.org>
This commit is contained in:
Philippe Mathieu-Daudé 2025-01-21 13:09:35 +01:00
parent 644a8119bd
commit 82f0f44d62

View file

@ -777,11 +777,13 @@ static void sparc_restore_state_to_opc(CPUState *cs,
} }
} }
#ifndef CONFIG_USER_ONLY
static bool sparc_cpu_has_work(CPUState *cs) static bool sparc_cpu_has_work(CPUState *cs)
{ {
return (cs->interrupt_request & CPU_INTERRUPT_HARD) && return (cs->interrupt_request & CPU_INTERRUPT_HARD) &&
cpu_interrupts_enabled(cpu_env(cs)); cpu_interrupts_enabled(cpu_env(cs));
} }
#endif /* !CONFIG_USER_ONLY */
static int sparc_cpu_mmu_index(CPUState *cs, bool ifetch) static int sparc_cpu_mmu_index(CPUState *cs, bool ifetch)
{ {
@ -988,6 +990,7 @@ static const Property sparc_cpu_properties[] = {
#include "hw/core/sysemu-cpu-ops.h" #include "hw/core/sysemu-cpu-ops.h"
static const struct SysemuCPUOps sparc_sysemu_ops = { static const struct SysemuCPUOps sparc_sysemu_ops = {
.has_work = sparc_cpu_has_work,
.get_phys_page_debug = sparc_cpu_get_phys_page_debug, .get_phys_page_debug = sparc_cpu_get_phys_page_debug,
.legacy_vmsd = &vmstate_sparc_cpu, .legacy_vmsd = &vmstate_sparc_cpu,
}; };
@ -1029,7 +1032,6 @@ static void sparc_cpu_class_init(ObjectClass *oc, void *data)
cc->class_by_name = sparc_cpu_class_by_name; cc->class_by_name = sparc_cpu_class_by_name;
cc->parse_features = sparc_cpu_parse_features; cc->parse_features = sparc_cpu_parse_features;
cc->has_work = sparc_cpu_has_work;
cc->mmu_index = sparc_cpu_mmu_index; cc->mmu_index = sparc_cpu_mmu_index;
cc->dump_state = sparc_cpu_dump_state; cc->dump_state = sparc_cpu_dump_state;
#if !defined(TARGET_SPARC64) && !defined(CONFIG_USER_ONLY) #if !defined(TARGET_SPARC64) && !defined(CONFIG_USER_ONLY)