From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:44495) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TtH0H-0003Ns-8U for qemu-devel@nongnu.org; Thu, 10 Jan 2013 07:13:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TtH0E-0005zz-Va for qemu-devel@nongnu.org; Thu, 10 Jan 2013 07:13:01 -0500 Received: from mx1.redhat.com ([209.132.183.28]:17370) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TtH0E-0005zo-O0 for qemu-devel@nongnu.org; Thu, 10 Jan 2013 07:12:58 -0500 Message-ID: <50EEB045.6080908@redhat.com> Date: Thu, 10 Jan 2013 13:12:53 +0100 From: Paolo Bonzini MIME-Version: 1.0 References: <1355761490-10073-1-git-send-email-pbonzini@redhat.com> <877gnovmgj.fsf@codemonkey.ws> <50ED3971.5030600@redhat.com> <50EEAA5F.8060900@redhat.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 00/15] qdev: make reset semantics more clear and consistent, reset qbuses under virtio devices List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: Anthony Liguori , qemu-devel@nongnu.org, =?UTF-8?B?QW5kcmVhcyBGw6RyYmVy?= , mst@redhat.com Il 10/01/2013 12:59, Peter Maydell ha scritto: >>>>> >>> > It's possible. I'll move the SCSI bus away from qdev reset. >>>>> >>> > Anthony/Michael, can you help doing the same with PCIDevice? And >>>>> >>> > perhaps Peter and Andreas with sysbus? >>> >> What does it even mean to reset a sysbus? Do we do it anywhere? >>> >> (it looks like vl.c does, just as a shortcut so memory mapped devices >>> >> get their reset hooks called?) > So how should it work instead? I kind of feel like all qdev devices should > get their reset hook called on machine reset, regardless of bus [since it's > modelling power cycling the whole system], but would that break > something? It's just an implementation detail. Right now we have a common callback. The idea is to give each bus its own callback. In the case of sysbus it would just call a method; for PCI it would reset some configuration and then call a method; for SCSI there is no need to call a method at all; and so on. In addition, navigating the qdev tree should be explicit in the methods. It will not happen anymore via the "magic" qdev_reset_all. Paolo