From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1K7Dph-0008E1-3Q for qemu-devel@nongnu.org; Fri, 13 Jun 2008 14:17:05 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1K7Dpg-0008Dp-Ih for qemu-devel@nongnu.org; Fri, 13 Jun 2008 14:17:04 -0400 Received: from [199.232.76.173] (port=34331 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1K7Dpg-0008Dm-An for qemu-devel@nongnu.org; Fri, 13 Jun 2008 14:17:04 -0400 Received: from savannah.gnu.org ([199.232.41.3]:57419 helo=sv.gnu.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1K7Dpg-0005cr-5x for qemu-devel@nongnu.org; Fri, 13 Jun 2008 14:17:04 -0400 Received: from cvs.savannah.gnu.org ([199.232.41.69]) by sv.gnu.org with esmtp (Exim 4.63) (envelope-from ) id 1K7Dpd-0001HG-3h for qemu-devel@nongnu.org; Fri, 13 Jun 2008 18:17:01 +0000 Received: from malc by cvs.savannah.gnu.org with local (Exim 4.63) (envelope-from ) id 1K7Dpc-0001H8-Dk for qemu-devel@nongnu.org; Fri, 13 Jun 2008 18:17:00 +0000 MIME-Version: 1.0 Errors-To: malc Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From: malc Message-Id: Date: Fri, 13 Jun 2008 18:17:00 +0000 Subject: [Qemu-devel] [4742] Fix vm state save/load Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Revision: 4742 http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=4742 Author: malc Date: 2008-06-13 18:16:59 +0000 (Fri, 13 Jun 2008) Log Message: ----------- Fix vm state save/load Modified Paths: -------------- trunk/hw/cs4231a.c Modified: trunk/hw/cs4231a.c =================================================================== --- trunk/hw/cs4231a.c 2008-06-13 10:48:22 UTC (rev 4741) +++ trunk/hw/cs4231a.c 2008-06-13 18:16:59 UTC (rev 4742) @@ -601,17 +601,23 @@ { 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 @@ 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; }