mirror of https://github.com/xemu-project/xemu.git
q800-glue.c: convert to Resettable interface
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> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Message-ID: <20231004083806.757242-2-mark.cave-ayland@ilande.co.uk> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
This commit is contained in:
parent
2f3913f4b2
commit
d43e967f69
|
@ -166,9 +166,9 @@ static void glue_nmi_release(void *opaque)
|
||||||
GLUE_set_irq(s, GLUE_IRQ_IN_NMI, 0);
|
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->ipr = 0;
|
||||||
s->auxmode = 0;
|
s->auxmode = 0;
|
||||||
|
@ -223,11 +223,12 @@ static void glue_init(Object *obj)
|
||||||
static void glue_class_init(ObjectClass *klass, void *data)
|
static void glue_class_init(ObjectClass *klass, void *data)
|
||||||
{
|
{
|
||||||
DeviceClass *dc = DEVICE_CLASS(klass);
|
DeviceClass *dc = DEVICE_CLASS(klass);
|
||||||
|
ResettableClass *rc = RESETTABLE_CLASS(klass);
|
||||||
NMIClass *nc = NMI_CLASS(klass);
|
NMIClass *nc = NMI_CLASS(klass);
|
||||||
|
|
||||||
dc->vmsd = &vmstate_glue;
|
dc->vmsd = &vmstate_glue;
|
||||||
dc->reset = glue_reset;
|
|
||||||
device_class_set_props(dc, glue_properties);
|
device_class_set_props(dc, glue_properties);
|
||||||
|
rc->phases.hold = glue_reset_hold;
|
||||||
nc->nmi_monitor_handler = glue_nmi;
|
nc->nmi_monitor_handler = glue_nmi;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue