diff options
author | Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> | 2024-12-22 13:00:05 +0000 |
---|---|---|
committer | Thomas Huth <huth@tuxfamily.org> | 2024-12-29 07:13:47 +0100 |
commit | 96d5c4d524ea1355dc2cde2d6c38a95a0ecbe358 (patch) | |
tree | d740caf6a42f176ec69b1d3d240adf26815b16ae | |
parent | 49100693e9fdea57d2d3272bf0e1b236901123d7 (diff) | |
download | qemu-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.c | 17 |
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) |