From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=52916 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OqQyg-0008HG-V3 for qemu-devel@nongnu.org; Tue, 31 Aug 2010 09:34:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OqQyb-000124-Kl for qemu-devel@nongnu.org; Tue, 31 Aug 2010 09:34:18 -0400 Received: from mail-qy0-f173.google.com ([209.85.216.173]:41212) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OqQyb-000120-IB for qemu-devel@nongnu.org; Tue, 31 Aug 2010 09:34:13 -0400 Received: by qyk34 with SMTP id 34so917133qyk.4 for ; Tue, 31 Aug 2010 06:34:13 -0700 (PDT) Message-ID: <4C7D04E4.2060305@codemonkey.ws> Date: Tue, 31 Aug 2010 08:34:28 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] Re: [PATCH 5/5] RFC: distinguish warm reset from cold reset. References: <0a460e01cca4fa24f446c7a715fe6df17d0be9ed.1283152674.git.yamahata@valinux.co.jp> <4C7BAB2A.30608@codemonkey.ws> <20100831025808.GA19374@valinux.co.jp> <4C7CFEC1.8040204@codemonkey.ws> <20100831131449.GG10499@redhat.com> <4C7D01B3.4030602@codemonkey.ws> <20100831132158.GH10499@redhat.com> <4C7D02FB.4030706@codemonkey.ws> <4C7D03C7.9090406@redhat.com> In-Reply-To: <4C7D03C7.9090406@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity Cc: Gleb Natapov , glommer@redhat.com, qemu-devel@nongnu.org, blauwirbel@gmail.com, Isaku Yamahata , alex.williamson@redhat.com On 08/31/2010 08:29 AM, Avi Kivity wrote: > Note, for most devices there's no difference. x86 has INIT and RESET, > with the keyboard controller RESET signal sometimes wired to INIT, and > RAM doesn't have RESET. Otherwise most devices don't see a difference. Yes, that's why I'm wondering if we can just get away with using a simple reset() callback and for the handful of devices that don't do a full reset, they can just move the state unaffected by warm reset to ->init(). For cold reset, I'd rather approach it as a device destroy + create. This means that given a DeviceState, we need to collect enough information to recreate the device. I'm not 100% sure we have that today but if we solve that problem, it means we can migrate the device tree during migration which is a feature I'd really like to see. Regards, Anthony Liguori