qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
[parent not found: <503b6650.c88ddc0a.7e15.ffffb689SMTPIN_ADDED@mx.google.com>]
* [Qemu-devel] [PATCH] Save/load PC speaker internal state
@ 2012-08-27 12:21 Pavel Dovgaluk
  2012-08-27 16:39 ` Andreas Färber
  0 siblings, 1 reply; 6+ messages in thread
From: Pavel Dovgaluk @ 2012-08-27 12:21 UTC (permalink / raw)
  To: 'qemu-devel'

Save PC speaker state to remove differences between system
states after saving the snapshot and after loading it again.
This patch is needed for deterministic replay of the execution.

Signed-off-by: Pavel Dovgalyuk<pavel.dovgaluk@gmail.com>
---
 hw/pcspk.c |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/hw/pcspk.c b/hw/pcspk.c
index e430324..3fb3dd1 100644
--- a/hw/pcspk.c
+++ b/hw/pcspk.c
@@ -159,10 +159,28 @@ static const MemoryRegionOps pcspk_io_ops = {
     },
 };
 
+static const VMStateDescription vmstate_spk = {
+    .name = "pcspk",
+    .version_id = 1,
+    .minimum_version_id = 1,
+    .minimum_version_id_old = 1,
+    .fields      = (VMStateField[]) {
+        VMSTATE_UINT8_ARRAY(sample_buf, PCSpkState, PCSPK_BUF_LEN),
+        VMSTATE_UINT32(pit_count, PCSpkState),
+        VMSTATE_UINT32(samples, PCSpkState),
+        VMSTATE_UINT32(play_pos, PCSpkState),
+        VMSTATE_INT32(data_on, PCSpkState),
+        VMSTATE_INT32(dummy_refresh_clock, PCSpkState),
+        VMSTATE_END_OF_LIST()
+    }
+};
+
 static int pcspk_initfn(ISADevice *dev)
 {
     PCSpkState *s = DO_UPCAST(PCSpkState, dev, dev);
 
+    vmstate_register(NULL, 0, &vmstate_spk, s);
+
     memory_region_init_io(&s->ioport, &pcspk_io_ops, s, "elcr", 1);
     isa_register_ioport(dev, &s->ioport, s->iobase);

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2012-08-28 11:25 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <36635.9908286997$1346070105@news.gmane.org>
2012-08-27 17:27 ` [Qemu-devel] [PATCH] Save/load PC speaker internal state Jan Kiszka
     [not found] <503b6650.c88ddc0a.7e15.ffffb689SMTPIN_ADDED@mx.google.com>
2012-08-27 12:49 ` Peter Maydell
2012-08-28  7:01   ` Pavel Dovgaluk
2012-08-27 12:21 Pavel Dovgaluk
2012-08-27 16:39 ` Andreas Färber
2012-08-28 11:23   ` Juan Quintela

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).