From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=40079 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OqRR3-0002k9-CZ for qemu-devel@nongnu.org; Tue, 31 Aug 2010 10:03:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OqRR0-00061w-Km for qemu-devel@nongnu.org; Tue, 31 Aug 2010 10:03:36 -0400 Received: from mx1.redhat.com ([209.132.183.28]:56868) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OqRR0-00061T-82 for qemu-devel@nongnu.org; Tue, 31 Aug 2010 10:03:34 -0400 Date: Tue, 31 Aug 2010 17:03:29 +0300 From: Gleb Natapov Subject: Re: [Qemu-devel] Re: [PATCH 5/5] RFC: distinguish warm reset from cold reset. Message-ID: <20100831140329.GJ10499@redhat.com> References: <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> <4C7D07B9.4090909@redhat.com> <4C7D0A6E.8000302@codemonkey.ws> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4C7D0A6E.8000302@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 Kivity On Tue, Aug 31, 2010 at 08:58:06AM -0500, Anthony Liguori wrote: > On 08/31/2010 08:46 AM, Avi Kivity wrote: > > 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. > > But I'm still not sure whether the reset signal can be deliver based > on a pre-order transversal or whether a custom transversal was > required that each bus participates in. > The thing is in qemu reset of one device can affect state of other device. Think about device that updates its interrupt line during reset and this affects pic/ioapic/apic. Real HW does not have a problem that we have here. -- Gleb.