From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=44744 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Oq2bu-0003rV-Qd for qemu-devel@nongnu.org; Mon, 30 Aug 2010 07:33:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Oq2OP-0000SC-SN for qemu-devel@nongnu.org; Mon, 30 Aug 2010 07:19:14 -0400 Received: from mx1.redhat.com ([209.132.183.28]:18632) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Oq2OP-0000Rz-M7 for qemu-devel@nongnu.org; Mon, 30 Aug 2010 07:19:13 -0400 Date: Mon, 30 Aug 2010 14:19:09 +0300 From: Gleb Natapov Subject: Re: [Qemu-devel] Re: [PATCH 0/5] RFC: distinguish warm reset from cold reset. Message-ID: <20100830111909.GC10499@redhat.com> References: <4C7B64D7.2020703@redhat.com> <20100830083520.GA7402@valinux.co.jp> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20100830083520.GA7402@valinux.co.jp> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Isaku Yamahata Cc: blauwirbel@gmail.com, alex.williamson@redhat.com, glommer@redhat.com, Avi Kivity , qemu-devel@nongnu.org On Mon, Aug 30, 2010 at 05:35:20PM +0900, Isaku Yamahata wrote: > On Mon, Aug 30, 2010 at 10:59:19AM +0300, Avi Kivity wrote: > > On 08/30/2010 10:49 AM, Isaku Yamahata wrote: > >> This patch set distinguish warm reset from cold reset by > >> introducing warm reset callback handler. > >> The first 4 patches are trivial clean up patches. The last patch of 5/5 > >> is RFC patch. > >> > >> The following thread arose cold reset vs warm reset issues. > >> http://lists.nongnu.org/archive/html/qemu-devel/2010-08/msg00186.html > >> The summary is > >> - warm reset is wanted in qemu > >> - Pressing the reset button is a warm reset on real machines > >> - Sparc64 CPU uses different reset vector for warm and cold reset, > >> so system_reset acts like a reset button > >> - Bus reset can be implemented utilizing qdev frame work instead of > >> implemeting it each bus layer independently. > >> - The modification should be incremental. > >> Anthony would like to see that as an incremental addition to what we have > >> today (like introducing a propagating warm reset callback) and thinking > >> through what the actual behavior should and shouldn't be. > >> > >> > >> If the direction is okay, The next step would be a patch(set) for qdev which > >> would introduce qdev_cold_reset(), qdev_warm_reset(), > >> DeviceInfo::cold_reset and DeviceInfo::warm_reset > >> and would obsolete qdev_reset() and DeviceInfo::reset. > >> > > > > What would be the difference between warm and cold reset? Former called > > on any reset, while the latter called on power up only? > > What I have in mind at the moment is, > warm reset callback is called on warm reset, not called on power up. > cold reset callback is called only on power up (and power cycle). > Why stop there. Why not implement proper power planes support. Some devices are not powered down on S3/S4 suspend for instance. -- Gleb.