From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:43925) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XRdqb-0003dX-Us for qemu-devel@nongnu.org; Wed, 10 Sep 2014 05:06:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XRdqS-00061p-UP for qemu-devel@nongnu.org; Wed, 10 Sep 2014 05:05:53 -0400 Received: from mail-wi0-x22c.google.com ([2a00:1450:400c:c05::22c]:44249) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XRdqS-00061k-Lt for qemu-devel@nongnu.org; Wed, 10 Sep 2014 05:05:44 -0400 Received: by mail-wi0-f172.google.com with SMTP id q5so2600926wiv.5 for ; Wed, 10 Sep 2014 02:05:43 -0700 (PDT) Sender: Paolo Bonzini Message-ID: <54101463.2010609@redhat.com> Date: Wed, 10 Sep 2014 11:05:39 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1410265809-27247-1-git-send-email-pbonzini@redhat.com> <1410265809-27247-10-git-send-email-pbonzini@redhat.com> <20140909135424.GA13212@redhat.com> <540F35E3.7060207@redhat.com> <20140909205122.GB15637@redhat.com> <54100E16.1040306@redhat.com> In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 09/10] piix: do not raise irq while loading vmstate List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: "Michael S. Tsirkin" , Juan Quintela , QEMU Developers , "Dr. David Alan Gilbert" , Pavel Dovgaluk , Amit Shah Il 10/09/2014 10:51, Peter Maydell ha scritto: > > What is not okay (and I think it should be a rule) is to touch other > > devices from post_load, unless you know that they are deserialized > > first. For example it's okay for a PCI device to talk to the parent > > bridge in its post_load function. > > I don't think it's right to talk to another device even if you do > know it's deserialized first. Talking to it might make it change > its state, which would be wrong (since its correct state is > the state it's just deserialized). I would suggest the rule should > be "never do something that can change the state of another > device in post-load". That's harder to do, but if it is possible to do it, it would be great as well. It would not surprise me to find a case where the parent device actually _expects_ the children's post_load to inform it about something, instead of serializing that part of state on its own. Paolo > (We have similar issues with reset, except worse in that we > don't have a coherent rule to cause everything to come out > of reset in the right state.)