From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=33011 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OqQg8-0004iX-Nr for qemu-devel@nongnu.org; Tue, 31 Aug 2010 09:15:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OqQfw-0005eB-Od for qemu-devel@nongnu.org; Tue, 31 Aug 2010 09:15:04 -0400 Received: from mx1.redhat.com ([209.132.183.28]:58718) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OqQfw-0005dL-IT for qemu-devel@nongnu.org; Tue, 31 Aug 2010 09:14:56 -0400 Date: Tue, 31 Aug 2010 16:14:49 +0300 From: Gleb Natapov Subject: Re: [Qemu-devel] Re: [PATCH 5/5] RFC: distinguish warm reset from cold reset. Message-ID: <20100831131449.GG10499@redhat.com> References: <0a460e01cca4fa24f446c7a715fe6df17d0be9ed.1283152674.git.yamahata@valinux.co.jp> <4C7BAB2A.30608@codemonkey.ws> <20100831025808.GA19374@valinux.co.jp> <4C7CFEC1.8040204@codemonkey.ws> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4C7CFEC1.8040204@codemonkey.ws> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: glommer@redhat.com, qemu-devel@nongnu.org, blauwirbel@gmail.com, Isaku Yamahata , alex.williamson@redhat.com, avi@redhat.com On Tue, Aug 31, 2010 at 08:08:17AM -0500, Anthony Liguori wrote: > On 08/30/2010 09:58 PM, Isaku Yamahata wrote: > >>I was thinking that we should stick entirely within the qdev abstraction. > >> > >>The patchset I sent out introduced a cold reset as a qdev property on > >>the devices. > >> > >>For warm reset, if I understand correctly, we need two things. We need > >>to 1) control propagation order and we need to 2) differentiate > >>per-device between cold reset and warm reset. > >> > >>For (2), I don't know that we truly do need it. For something like PCI > >>AER, wouldn't we just move the AER initialization to the qdev init > >>function and then never change the AER registers during reset? > >> > >>IOW, the only way to do a cold reset would be to destroy and recreate > >>the device. > >I'm lost here. Then, what should qdev_reset() do? > > I don't know, that's what I'm trying to understand. > > As of this moment, you've convinced me that it should be a warm > reset. However, I'm not yet convinced that we need to allow buses > to change the propagation path of the warm reset. > System_reset should do cold reset like it does now. -- Gleb.