From: Marc-André Lureau <[email protected]> Convert the OnOffSplit property from manual visitor-based callbacks to object_class_property_add_enum().
Signed-off-by: Marc-André Lureau <[email protected]> Signed-off-by: Markus Armbruster <[email protected]> Message-ID: <[email protected]> --- accel/hvf/hvf-all.c | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/accel/hvf/hvf-all.c b/accel/hvf/hvf-all.c index 213ee15b4a..938379b9f2 100644 --- a/accel/hvf/hvf-all.c +++ b/accel/hvf/hvf-all.c @@ -11,6 +11,7 @@ #include "qemu/osdep.h" #include "qemu/error-report.h" #include "qapi/error.h" +#include "qapi/qapi-type-infos-common.h" #include "qapi/qapi-visit-common.h" #include "accel/accel-ops.h" #include "exec/cpu-common.h" @@ -230,18 +231,12 @@ static int hvf_accel_init(AccelState *as, MachineState *ms) return hvf_arch_init(); } -static void hvf_set_kernel_irqchip(Object *obj, Visitor *v, - const char *name, void *opaque, +static void hvf_set_kernel_irqchip(Object *obj, int value, Error **errp) { - OnOffSplit mode; - hvf_kernel_irqchip_override = true; - if (!visit_type_OnOffSplit(v, name, &mode, errp)) { - return; - } - switch (mode) { + switch (value) { case ON_OFF_SPLIT_ON: #ifdef HOST_X86_64 /* macOS 12 onwards exposes an HVF virtual APIC. */ @@ -261,11 +256,7 @@ static void hvf_set_kernel_irqchip(Object *obj, Visitor *v, break; default: - /* - * The value was checked in visit_type_OnOffSplit() above. If - * we get here, then something is wrong in QEMU. - */ - abort(); + g_assert_not_reached(); } } @@ -277,9 +268,10 @@ static void hvf_accel_class_init(ObjectClass *oc, const void *data) ac->allowed = &hvf_allowed; hvf_kernel_irqchip_override = false; hvf_kernel_irqchip = false; - object_class_property_add(oc, "kernel-irqchip", "on|off|split", NULL, - NULL, hvf_set_kernel_irqchip, - NULL, NULL); + + object_class_property_add_enum(oc, "kernel-irqchip", "on|off|split", + &OnOffSplit_type_info, NULL, + NULL, hvf_set_kernel_irqchip); object_class_property_set_description(oc, "kernel-irqchip", "Configure HVF irqchip"); } -- 2.55.0
