[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 01/12] mac_via: introduce new VMStateDescription for q800 VIA1 and
From: |
Laurent Vivier |
Subject: |
[PULL 01/12] mac_via: introduce new VMStateDescription for q800 VIA1 and VIA2 |
Date: |
Wed, 8 Sep 2021 17:35:18 +0200 |
From: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Move the parent mos6522 objects from vmstate_mac_via into the new
VMStateDescription
structures to begin the process of splitting MacVIAState into separate VIA1 and
VIA2 devices.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20210830102447.10806-2-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
---
hw/misc/mac_via.c | 28 ++++++++++++++++++++++++----
1 file changed, 24 insertions(+), 4 deletions(-)
diff --git a/hw/misc/mac_via.c b/hw/misc/mac_via.c
index ff0156db76f2..46e65058e029 100644
--- a/hw/misc/mac_via.c
+++ b/hw/misc/mac_via.c
@@ -1083,16 +1083,12 @@ static const VMStateDescription vmstate_mac_via = {
.post_load = mac_via_post_load,
.fields = (VMStateField[]) {
/* VIAs */
- VMSTATE_STRUCT(mos6522_via1.parent_obj, MacVIAState, 0,
vmstate_mos6522,
- MOS6522State),
VMSTATE_UINT8(mos6522_via1.last_b, MacVIAState),
VMSTATE_BUFFER(mos6522_via1.PRAM, MacVIAState),
VMSTATE_TIMER_PTR(mos6522_via1.one_second_timer, MacVIAState),
VMSTATE_INT64(mos6522_via1.next_second, MacVIAState),
VMSTATE_TIMER_PTR(mos6522_via1.sixty_hz_timer, MacVIAState),
VMSTATE_INT64(mos6522_via1.next_sixty_hz, MacVIAState),
- VMSTATE_STRUCT(mos6522_via2.parent_obj, MacVIAState, 0,
vmstate_mos6522,
- MOS6522State),
/* RTC */
VMSTATE_UINT32(tick_offset, MacVIAState),
VMSTATE_UINT8(data_out, MacVIAState),
@@ -1156,11 +1152,23 @@ static void mos6522_q800_via1_init(Object *obj)
VIA1_IRQ_NB);
}
+static const VMStateDescription vmstate_q800_via1 = {
+ .name = "q800-via1",
+ .version_id = 0,
+ .minimum_version_id = 0,
+ .fields = (VMStateField[]) {
+ VMSTATE_STRUCT(parent_obj, MOS6522Q800VIA1State, 0, vmstate_mos6522,
+ MOS6522State),
+ VMSTATE_END_OF_LIST()
+ }
+};
+
static void mos6522_q800_via1_class_init(ObjectClass *oc, void *data)
{
DeviceClass *dc = DEVICE_CLASS(oc);
dc->reset = mos6522_q800_via1_reset;
+ dc->vmsd = &vmstate_q800_via1;
}
static const TypeInfo mos6522_q800_via1_type_info = {
@@ -1200,12 +1208,24 @@ static void mos6522_q800_via2_init(Object *obj)
VIA2_IRQ_NB);
}
+static const VMStateDescription vmstate_q800_via2 = {
+ .name = "q800-via2",
+ .version_id = 0,
+ .minimum_version_id = 0,
+ .fields = (VMStateField[]) {
+ VMSTATE_STRUCT(parent_obj, MOS6522Q800VIA2State, 0, vmstate_mos6522,
+ MOS6522State),
+ VMSTATE_END_OF_LIST()
+ }
+};
+
static void mos6522_q800_via2_class_init(ObjectClass *oc, void *data)
{
DeviceClass *dc = DEVICE_CLASS(oc);
MOS6522DeviceClass *mdc = MOS6522_CLASS(oc);
dc->reset = mos6522_q800_via2_reset;
+ dc->vmsd = &vmstate_q800_via2;
mdc->portB_write = mos6522_q800_via2_portB_write;
}
--
2.31.1
- [PULL 00/12] Q800 patches, Laurent Vivier, 2021/09/08
- [PULL 01/12] mac_via: introduce new VMStateDescription for q800 VIA1 and VIA2,
Laurent Vivier <=
- [PULL 02/12] mac_via: move last_b variable into q800 VIA1 VMStateDescription, Laurent Vivier, 2021/09/08
- [PULL 03/12] mac_via: move PRAM contents and block backend to MOS6522Q800VIA1State, Laurent Vivier, 2021/09/08
- [PULL 06/12] mac_via: move q800 VIA1 timer variables to q800 VIA1 VMStateDescription, Laurent Vivier, 2021/09/08
- [PULL 08/12] mac_via: move VIA1 realize logic from mac_via_realize() to mos6522_q800_via1_realize(), Laurent Vivier, 2021/09/08
- [PULL 11/12] mac_via: rename VIA2_IRQ_SLOT_BIT to VIA2_IRQ_NUBUS_BIT, Laurent Vivier, 2021/09/08
- [PULL 12/12] mac_via: add qdev gpios for nubus slot interrupts to VIA2, Laurent Vivier, 2021/09/08
- [PULL 09/12] mac_via: remove mac_via device, Laurent Vivier, 2021/09/08
- [PULL 04/12] mac_via: move PRAM/RTC variables to MOS6522Q800VIA1State, Laurent Vivier, 2021/09/08
- [PULL 05/12] mac_via: move ADB variables to MOS6522Q800VIA1State, Laurent Vivier, 2021/09/08
- [PULL 10/12] mac_via: remove explicit viaN prefix from VIA IRQ gpios, Laurent Vivier, 2021/09/08