aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>2024-12-22 13:00:05 +0000
committerThomas Huth <huth@tuxfamily.org>2024-12-29 07:13:47 +0100
commit96d5c4d524ea1355dc2cde2d6c38a95a0ecbe358 (patch)
treed740caf6a42f176ec69b1d3d240adf26815b16ae
parent49100693e9fdea57d2d3272bf0e1b236901123d7 (diff)
downloadqemu-96d5c4d524ea1355dc2cde2d6c38a95a0ecbe358.zip
qemu-96d5c4d524ea1355dc2cde2d6c38a95a0ecbe358.tar.gz
qemu-96d5c4d524ea1355dc2cde2d6c38a95a0ecbe358.tar.bz2
next-cube: move reset of next-rtc fields from next-pc to next-rtc
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Thomas Huth <huth@tuxfamily.org> Message-ID: <20241222130012.1013374-27-mark.cave-ayland@ilande.co.uk> Signed-off-by: Thomas Huth <huth@tuxfamily.org>
-rw-r--r--hw/m68k/next-cube.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c
index 883891c..bd7c76c 100644
--- a/hw/m68k/next-cube.c
+++ b/hw/m68k/next-cube.c
@@ -1018,6 +1018,16 @@ static const MemoryRegionOps next_dummy_en_ops = {
.endianness = DEVICE_BIG_ENDIAN,
};
+static void next_rtc_reset_hold(Object *obj, ResetType type)
+{
+ NeXTRTC *rtc = NEXT_RTC(obj);
+
+ rtc->status = 0x90;
+
+ /* Load RTC RAM - TODO: provide possibility to load contents from file */
+ memcpy(rtc->ram, rtc_ram2, 32);
+}
+
static const VMStateDescription next_rtc_vmstate = {
.name = "next-rtc",
.version_id = 3,
@@ -1037,9 +1047,11 @@ static const VMStateDescription next_rtc_vmstate = {
static void next_rtc_class_init(ObjectClass *klass, void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
+ ResettableClass *rc = RESETTABLE_CLASS(klass);
dc->desc = "NeXT RTC";
dc->vmsd = &next_rtc_vmstate;
+ rc->phases.hold = next_rtc_reset_hold;
}
static const TypeInfo next_rtc_info = {
@@ -1072,11 +1084,6 @@ static void next_pc_reset_hold(Object *obj, ResetType type)
s->scr1 = 0x00011102;
s->scr2 = 0x00ff0c80;
s->old_scr2 = s->scr2;
-
- s->rtc.status = 0x90;
-
- /* Load RTC RAM - TODO: provide possibility to load contents from file */
- memcpy(s->rtc.ram, rtc_ram2, 32);
}
static void next_pc_realize(DeviceState *dev, Error **errp)