aboutsummaryrefslogtreecommitdiff
path: root/hw/ac97.c
diff options
context:
space:
mode:
authormalc <malc@c046a42c-6fe2-441c-8c8c-71466251a162>2008-06-21 17:14:50 +0000
committermalc <malc@c046a42c-6fe2-441c-8c8c-71466251a162>2008-06-21 17:14:50 +0000
commit279a65442eb53e74083b31fa629a10c0ed78e3f0 (patch)
tree5335a9ec6f19c4a8ccc8a0ba75b741cf1f47d6e7 /hw/ac97.c
parentfd07bef4b49cc69ef1905b0713a6bf23026cc536 (diff)
downloadqemu-279a65442eb53e74083b31fa629a10c0ed78e3f0.zip
qemu-279a65442eb53e74083b31fa629a10c0ed78e3f0.tar.gz
qemu-279a65442eb53e74083b31fa629a10c0ed78e3f0.tar.bz2
Add calls to pci_device_save/load
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4766 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw/ac97.c')
-rw-r--r--hw/ac97.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/hw/ac97.c b/hw/ac97.c
index 83b4383..55c65df 100644
--- a/hw/ac97.c
+++ b/hw/ac97.c
@@ -1190,6 +1190,8 @@ static void ac97_save (QEMUFile *f, void *opaque)
uint8_t active[LAST_INDEX];
AC97LinkState *s = opaque;
+ pci_device_save (s->pci_dev, f);
+
qemu_put_be32s (f, &s->glob_cnt);
qemu_put_be32s (f, &s->glob_sta);
qemu_put_be32s (f, &s->cas);
@@ -1217,13 +1219,18 @@ static void ac97_save (QEMUFile *f, void *opaque)
static int ac97_load (QEMUFile *f, void *opaque, int version_id)
{
+ int ret;
size_t i;
uint8_t active[LAST_INDEX];
AC97LinkState *s = opaque;
- if (version_id != 1)
+ if (version_id != 2)
return -EINVAL;
+ ret = pci_device_load (s->pci_dev, f);
+ if (ret)
+ return ret;
+
qemu_get_be32s (f, &s->glob_cnt);
qemu_get_be32s (f, &s->glob_sta);
qemu_get_be32s (f, &s->cas);
@@ -1370,7 +1377,7 @@ int ac97_init (PCIBus *bus, AudioState *audio)
pci_register_io_region (&d->dev, 0, 256 * 4, PCI_ADDRESS_SPACE_IO, ac97_map);
pci_register_io_region (&d->dev, 1, 64 * 4, PCI_ADDRESS_SPACE_IO, ac97_map);
- register_savevm ("ac97", 0, 1, ac97_save, ac97_load, s);
+ register_savevm ("ac97", 0, 2, ac97_save, ac97_load, s);
qemu_register_reset (ac97_on_reset, s);
AUD_register_card (audio, "ac97", &s->card);
ac97_on_reset (s);