[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 06/11] next-cube.c: move static led variable to NeXTPC
From: |
Mark Cave-Ayland |
Subject: |
[PATCH v2 06/11] next-cube.c: move static led variable to NeXTPC |
Date: |
Wed, 20 Dec 2023 13:16:36 +0000 |
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>
---
hw/m68k/next-cube.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/hw/m68k/next-cube.c b/hw/m68k/next-cube.c
index be4091ffd7..bcc7650cd9 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),
--
2.39.2
- [PATCH v2 00/11] next-cube: various tidy-ups and improvements, Mark Cave-Ayland, 2023/12/20
- [PATCH v2 01/11] next-cube.c: add dummy Ethernet register to allow diagnostic to timeout, Mark Cave-Ayland, 2023/12/20
- [PATCH v2 02/11] next-cube.c: don't pulse SCSI DMA IRQ upon reception of FLUSH command, Mark Cave-Ayland, 2023/12/20
- [PATCH v2 03/11] next-cube.c: update mmio_ops to properly use modern memory API, Mark Cave-Ayland, 2023/12/20
- [PATCH v2 05/11] next-cube.c: update and improve dma_ops, Mark Cave-Ayland, 2023/12/20
- [PATCH v2 04/11] next-cube.c: update scr_ops to properly use modern memory API, Mark Cave-Ayland, 2023/12/20
- [PATCH v2 06/11] next-cube.c: move static led variable to NeXTPC,
Mark Cave-Ayland <=
- [PATCH v2 07/11] next-cube.c: move static phase variable to NextRtc, Mark Cave-Ayland, 2023/12/20
- [PATCH v2 08/11] next-cube.c: move static old_scr2 variable to NeXTPC, Mark Cave-Ayland, 2023/12/20
- [PATCH v2 11/11] next-cube.c: move machine MemoryRegions into NeXTState, Mark Cave-Ayland, 2023/12/20
- [PATCH v2 09/11] next-cube.c: move LED logic to new next_scr2_led_update() function, Mark Cave-Ayland, 2023/12/20
- [PATCH v2 10/11] next-cube.c: remove val and size arguments from nextscr2_write(), Mark Cave-Ayland, 2023/12/20