summaryrefslogtreecommitdiffstats
path: root/hw/audio/pcspk.c
diff options
context:
space:
mode:
authorDr. David Alan Gilbert2016-11-28 14:32:00 +0100
committerPaolo Bonzini2016-11-28 16:45:12 +0100
commit04e27c6bb034e57e60739362a90bc11a4d6f3ad4 (patch)
tree291c42e412ccebb8b43f05a398566281286308a7 /hw/audio/pcspk.c
parentpci-assign: sync MSI/MSI-X cap and table with PCIDevice (diff)
downloadqemu-04e27c6bb034e57e60739362a90bc11a4d6f3ad4.tar.gz
qemu-04e27c6bb034e57e60739362a90bc11a4d6f3ad4.tar.xz
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(),
};