From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39152) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XRfbs-0004W9-Cs for qemu-devel@nongnu.org; Wed, 10 Sep 2014 06:58:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XRfbn-0002Qp-Bt for qemu-devel@nongnu.org; Wed, 10 Sep 2014 06:58:48 -0400 Received: from mx1.redhat.com ([209.132.183.28]:8564) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XRfbn-0002Qd-55 for qemu-devel@nongnu.org; Wed, 10 Sep 2014 06:58:43 -0400 Date: Wed, 10 Sep 2014 15:02:00 +0300 From: "Michael S. Tsirkin" Message-ID: <20140910120200.GB11524@redhat.com> References: <1410265809-27247-1-git-send-email-pbonzini@redhat.com> <1410265809-27247-5-git-send-email-pbonzini@redhat.com> <87bnqp2add.fsf@troll.troll> <540F008B.9030709@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <540F008B.9030709@redhat.com> Subject: Re: [Qemu-devel] [PATCH 04/10] pcspk: adding vmstate for save/restore List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: amit.shah@redhat.com, dgilbert@redhat.com, qemu-devel@nongnu.org, Pavel.Dovgaluk@ispras.ru, quintela@redhat.com On Tue, Sep 09, 2014 at 03:28:43PM +0200, Paolo Bonzini wrote: > Il 09/09/2014 15:26, Juan Quintela ha scritto: > > Paolo Bonzini wrote: > >> From: Pavel Dovgalyuk > >> > >> VMState added by this patch preserves correct > >> loading of the PC speaker device state. > >> > >> This breaks migration to 2.1 and earlier. > >> > >> Signed-off-by: Pavel Dovgalyuk > >> Signed-off-by: Paolo Bonzini > > > > This should only be added for new machine types, right? > > We never did that in the past. Maybe downstream. > > Paolo That's not too hard: we need two types that only differ in the vmstate. Use the correct one to create the device depending on the pc type. Put in that light, we definitely did create new devices while keeping old ones around for compatibility. > > Later, Juan. > > > >> @@ -192,6 +203,7 @@ static void pcspk_class_initfn(ObjectClass *klass, void *data) > >> > >> dc->realize = pcspk_realizefn; > >> set_bit(DEVICE_CATEGORY_SOUND, dc->categories); > >> + dc->vmsd = &vmstate_spk; > >> dc->props = pcspk_properties; > >> /* Reason: pointer property "pit", realize sets global pcspk_state */ > >> dc->cannot_instantiate_with_device_add_yet = true; >