From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52322) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VJ1Jj-0005ur-Li for qemu-devel@nongnu.org; Mon, 09 Sep 2013 09:15:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VJ1Jd-00053N-CR for qemu-devel@nongnu.org; Mon, 09 Sep 2013 09:15:47 -0400 Received: from mx1.redhat.com ([209.132.183.28]:2526) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VJ1Jc-00053E-U6 for qemu-devel@nongnu.org; Mon, 09 Sep 2013 09:15:41 -0400 Message-ID: <1378732537.3072.49.camel@localhost.localdomain> From: Marcel Apfelbaum Date: Mon, 09 Sep 2013 16:15:37 +0300 In-Reply-To: References: <1378725114-13197-1-git-send-email-marcel.a@redhat.com> <1378725114-13197-3-git-send-email-marcel.a@redhat.com> <20130909114029.GB31476@redhat.com> <1378728715.3072.14.camel@localhost.localdomain> <20130909122307.GB583@redhat.com> <1378730629.3072.32.camel@localhost.localdomain> <20130909125914.GA1052@redhat.com> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH RFC v2 2/2] hw/pci: handle unassigned pci addresses List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Peter Maydell Cc: Paolo Bonzini , Anthony Liguori , Jan Kiszka , QEMU Developers , "Michael S. Tsirkin" On Mon, 2013-09-09 at 14:02 +0100, Peter Maydell wrote: > On 9 September 2013 13:59, Michael S. Tsirkin wrote: > > On Mon, Sep 09, 2013 at 01:52:11PM +0100, Peter Maydell wrote: > >> It would be conceptually nicer not to treat host bridges as > >> a special case but instead to just report the abort back > >> to whatever the PCI master was (which might be a device > >> doing DMA). That might be a lot of effort though. > > > Yes. As a shortcut, what I suggest is registering the > > device that wants to be notified of master aborts with > > the bus. > > Can you just pick the device which is (a subclass of) > TYPE_PCI_HOST_BRIDGE, or do we have host bridges which > aren't using that class? This is what I would really want to do, but some HOST Bridge devices inherit directly from PCI_DEVICE. TYPE_PCI_HOST_BRIDGE derives from TYPE_SYS_BUS_DEVICE which is a not a PCI device and does not help us here (not a PCI_DEVICE on the bus) Strangely TYPE_Q35_HOST_DEVICE derives from TYPE_SYS_BUS_DEVICE and it hold as composition a PCIDevice that will be part of the bus, as opposed to TYPE_I440FX_PCI_DEVICE which directly inherits from PCI_DEVICE. It seems to me as a dead end, or we need to re-factor the current hierarchy. Marcel > > -- PMM