summary refs log tree commit diff stats
path: root/hw/audio/pcspk.c
diff options
context:
space:
mode:
authorDr. David Alan Gilbert <dgilbert@redhat.com>2016-11-28 13:32:00 +0000
committerPaolo Bonzini <pbonzini@redhat.com>2016-11-28 16:45:12 +0100
commit04e27c6bb034e57e60739362a90bc11a4d6f3ad4 (patch)
tree291c42e412ccebb8b43f05a398566281286308a7 /hw/audio/pcspk.c
parent64e184e2608d3c93dda1bba8ae6dc2185b5228fb (diff)
downloadfocaccia-qemu-04e27c6bb034e57e60739362a90bc11a4d6f3ad4.tar.gz
focaccia-qemu-04e27c6bb034e57e60739362a90bc11a4d6f3ad4.zip
migration/pcspk: Add a property to state if pcspk is migrated
Allow us to turn migration of pcspk off for compatibility.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20161128133201.16104-2-dgilbert@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'hw/audio/pcspk.c')
-rw-r--r--hw/audio/pcspk.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/hw/audio/pcspk.c b/hw/audio/pcspk.c
index 984534b2d1..798002277b 100644
--- a/hw/audio/pcspk.c
+++ b/hw/audio/pcspk.c
@@ -54,6 +54,7 @@ typedef struct {
     unsigned int play_pos;
     uint8_t data_on;
     uint8_t dummy_refresh_clock;
+    bool migrate;
 } PCSpkState;
 
 static const char *s_spk = "pcspk";
@@ -187,11 +188,19 @@ static void pcspk_realizefn(DeviceState *dev, Error **errp)
     pcspk_state = s;
 }
 
+static bool migrate_needed(void *opaque)
+{
+    PCSpkState *s = opaque;
+
+    return s->migrate;
+}
+
 static const VMStateDescription vmstate_spk = {
     .name = "pcspk",
     .version_id = 1,
     .minimum_version_id = 1,
     .minimum_version_id_old = 1,
+    .needed = migrate_needed,
     .fields      = (VMStateField[]) {
         VMSTATE_UINT8(data_on, PCSpkState),
         VMSTATE_UINT8(dummy_refresh_clock, PCSpkState),
@@ -201,6 +210,7 @@ static const VMStateDescription vmstate_spk = {
 
 static Property pcspk_properties[] = {
     DEFINE_PROP_UINT32("iobase", PCSpkState, iobase,  -1),
+    DEFINE_PROP_BOOL("migrate", PCSpkState, migrate,  true),
     DEFINE_PROP_END_OF_LIST(),
 };