Message ID | 20230909094827.33871-2-mark.cave-ayland@ilande.co.uk |
---|---|
State | New |
Headers | show |
Series | q800: add support for booting MacOS Classic - part 2 | expand |
Le 09/09/2023 à 11:48, Mark Cave-Ayland a écrit : > Convert the GLUE device to 3-phase reset. The legacy method > doesn't do anything that's invalid in the hold phase, so the > conversion is simple and not a behaviour change. > > Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> > Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> > --- > hw/m68k/q800-glue.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/hw/m68k/q800-glue.c b/hw/m68k/q800-glue.c > index 34c4f0e987..710a5c331e 100644 > --- a/hw/m68k/q800-glue.c > +++ b/hw/m68k/q800-glue.c > @@ -166,9 +166,9 @@ static void glue_nmi_release(void *opaque) > GLUE_set_irq(s, GLUE_IRQ_IN_NMI, 0); > } > > -static void glue_reset(DeviceState *dev) > +static void glue_reset_hold(Object *obj) > { > - GLUEState *s = GLUE(dev); > + GLUEState *s = GLUE(obj); > > s->ipr = 0; > s->auxmode = 0; > @@ -223,11 +223,12 @@ static void glue_init(Object *obj) > static void glue_class_init(ObjectClass *klass, void *data) > { > DeviceClass *dc = DEVICE_CLASS(klass); > + ResettableClass *rc = RESETTABLE_CLASS(klass); > NMIClass *nc = NMI_CLASS(klass); > > dc->vmsd = &vmstate_glue; > - dc->reset = glue_reset; > device_class_set_props(dc, glue_properties); > + rc->phases.hold = glue_reset_hold; > nc->nmi_monitor_handler = glue_nmi; > } > Reviewed-by: Laurent Vivier <laurent@vivier.eu>
diff --git a/hw/m68k/q800-glue.c b/hw/m68k/q800-glue.c index 34c4f0e987..710a5c331e 100644 --- a/hw/m68k/q800-glue.c +++ b/hw/m68k/q800-glue.c @@ -166,9 +166,9 @@ static void glue_nmi_release(void *opaque) GLUE_set_irq(s, GLUE_IRQ_IN_NMI, 0); } -static void glue_reset(DeviceState *dev) +static void glue_reset_hold(Object *obj) { - GLUEState *s = GLUE(dev); + GLUEState *s = GLUE(obj); s->ipr = 0; s->auxmode = 0; @@ -223,11 +223,12 @@ static void glue_init(Object *obj) static void glue_class_init(ObjectClass *klass, void *data) { DeviceClass *dc = DEVICE_CLASS(klass); + ResettableClass *rc = RESETTABLE_CLASS(klass); NMIClass *nc = NMI_CLASS(klass); dc->vmsd = &vmstate_glue; - dc->reset = glue_reset; device_class_set_props(dc, glue_properties); + rc->phases.hold = glue_reset_hold; nc->nmi_monitor_handler = glue_nmi; }