From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=37742 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OqRAi-0000RN-6H for qemu-devel@nongnu.org; Tue, 31 Aug 2010 09:46:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OqRAc-00034L-Tj for qemu-devel@nongnu.org; Tue, 31 Aug 2010 09:46:44 -0400 Received: from mx1.redhat.com ([209.132.183.28]:53736) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OqRAc-000343-LV for qemu-devel@nongnu.org; Tue, 31 Aug 2010 09:46:38 -0400 Message-ID: <4C7D07B9.4090909@redhat.com> Date: Tue, 31 Aug 2010 16:46:33 +0300 From: Avi Kivity 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> <4C7D04E4.2060305@codemonkey.ws> In-Reply-To: <4C7D04E4.2060305@codemonkey.ws> 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: Anthony Liguori Cc: Gleb Natapov , glommer@redhat.com, qemu-devel@nongnu.org, blauwirbel@gmail.com, Isaku Yamahata , alex.williamson@redhat.com On 08/31/2010 04:34 PM, Anthony Liguori wrote: > 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(). > This seems reasonable. > 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. Why do we need a cold reset at all? it doesn't map to anything. -- error compiling committee.c: too many arguments to function