aboutsummaryrefslogtreecommitdiff
path: root/hw
diff options
context:
space:
mode:
authorMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>2023-12-20 13:16:36 +0000
committerThomas Huth <huth@tuxfamily.org>2023-12-22 14:08:26 +0100
commit8220baa0cfd67f9a43437689e441febd15651986 (patch)
tree4bac7ff4c86c60515e814c5aaeef417fbc2ce6b6 /hw
parentc0dedcf4c145314724473341dde179d95977bacf (diff)
downloadqemu-8220baa0cfd67f9a43437689e441febd15651986.zip
qemu-8220baa0cfd67f9a43437689e441febd15651986.tar.gz
qemu-8220baa0cfd67f9a43437689e441febd15651986.tar.bz2
next-cube.c: move static led variable to NeXTPC
The state of the led is stored in the SCR2 register which is part of the NeXTPC device. Note that this is a migration break for the NeXTPC device, but as nothing will currently boot then we simply bump the migration version for now. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by: Thomas Huth <huth@tuxfamily.org> Message-ID: <20231220131641.592826-7-mark.cave-ayland@ilande.co.uk> Signed-off-by: Thomas Huth <huth@tuxfamily.org>
Diffstat (limited to 'hw')
-rw-r--r--hw/m68k/next-cube.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c
index be4091f..bcc7650 100644
--- a/hw/m68k/next-cube.c
+++ b/hw/m68k/next-cube.c
@@ -92,6 +92,7 @@ struct NeXTPC {
uint32_t scr2;
uint32_t int_mask;
uint32_t int_status;
+ uint32_t led;
uint8_t scsi_csr_1;
uint8_t scsi_csr_2;
@@ -123,7 +124,6 @@ static const uint8_t rtc_ram2[32] = {
static void nextscr2_write(NeXTPC *s, uint32_t val, int size)
{
- static int led;
static int phase;
static uint8_t old_scr2;
uint8_t scr2_2;
@@ -137,10 +137,10 @@ static void nextscr2_write(NeXTPC *s, uint32_t val, int size)
if (val & 0x1) {
DPRINTF("fault!\n");
- led++;
- if (led == 10) {
+ s->led++;
+ if (s->led == 10) {
DPRINTF("LED flashing, possible fault!\n");
- led = 0;
+ s->led = 0;
}
}
@@ -926,13 +926,14 @@ static const VMStateDescription next_rtc_vmstate = {
static const VMStateDescription next_pc_vmstate = {
.name = "next-pc",
- .version_id = 1,
- .minimum_version_id = 1,
+ .version_id = 2,
+ .minimum_version_id = 2,
.fields = (VMStateField[]) {
VMSTATE_UINT32(scr1, NeXTPC),
VMSTATE_UINT32(scr2, NeXTPC),
VMSTATE_UINT32(int_mask, NeXTPC),
VMSTATE_UINT32(int_status, NeXTPC),
+ VMSTATE_UINT32(led, NeXTPC),
VMSTATE_UINT8(scsi_csr_1, NeXTPC),
VMSTATE_UINT8(scsi_csr_2, NeXTPC),
VMSTATE_STRUCT(rtc, NeXTPC, 0, next_rtc_vmstate, NextRtc),