From: malc Date: Fri, 13 Jun 2008 18:16:59 +0000 (+0000) Subject: Fix vm state save/load X-Git-Tag: TizenStudio_2.0_p2.3.2~208^2~14544 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4143f3e09cf780fdd2f1461f19a4e63987a09660;p=sdk%2Femulator%2Fqemu.git Fix vm state save/load git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4742 c046a42c-6fe2-441c-8c8c-71466251a162 --- diff --git a/hw/cs4231a.c b/hw/cs4231a.c index 898c37e..a18a142 100644 --- a/hw/cs4231a.c +++ b/hw/cs4231a.c @@ -601,17 +601,23 @@ static void cs_save(QEMUFile *f, void *opaque) { CSState *s = opaque; unsigned int i; + uint32_t val; for (i = 0; i < CS_REGS; i++) qemu_put_be32s(f, &s->regs[i]); qemu_put_buffer(f, s->dregs, CS_DREGS); + val = s->dma_running; qemu_put_be32s(f, &val); + val = s->audio_free; qemu_put_be32s(f, &val); + val = s->transferred; qemu_put_be32s(f, &val); + val = s->aci_counter; qemu_put_be32s(f, &val); } static int cs_load(QEMUFile *f, void *opaque, int version_id) { CSState *s = opaque; unsigned int i; + uint32_t val, dma_running; if (version_id > 1) return -EINVAL; @@ -620,6 +626,13 @@ static int cs_load(QEMUFile *f, void *opaque, int version_id) qemu_get_be32s(f, &s->regs[i]); qemu_get_buffer(f, s->dregs, CS_DREGS); + + qemu_get_be32s(f, &dma_running); + qemu_get_be32s(f, &val); s->audio_free = val; + qemu_get_be32s(f, &val); s->transferred = val; + qemu_get_be32s(f, &val); s->aci_counter = val; + if (dma_running && (s->dregs[Interface_Configuration] & PEN)) + cs_reset_voices (s, s->dregs[FS_And_Playback_Data_Format]); return 0; }