From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40375) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VOQ6W-0000HE-2Q for qemu-devel@nongnu.org; Tue, 24 Sep 2013 06:44:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VOQ6Q-0006iq-3K for qemu-devel@nongnu.org; Tue, 24 Sep 2013 06:44:28 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42472) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VOQ6P-0006ik-Rg for qemu-devel@nongnu.org; Tue, 24 Sep 2013 06:44:22 -0400 Message-ID: <1380019471.2050.87.camel@localhost.localdomain> From: Marcel Apfelbaum Date: Tue, 24 Sep 2013 13:44:31 +0300 In-Reply-To: <20130924085845.GA18980@redhat.com> References: <20130923112744.GC544@redhat.com> <1379939863.2050.35.camel@localhost.localdomain> <20130923134512.GD1278@redhat.com> <1379947418.2050.47.camel@localhost.localdomain> <20130923151014.GB2899@redhat.com> <1379958593.2050.58.camel@localhost.localdomain> <20130923184513.GB8717@redhat.com> <1380010039.2050.69.camel@localhost.localdomain> <20130924082936.GA18673@redhat.com> <1380012297.2050.78.camel@localhost.localdomain> <20130924085845.GA18980@redhat.com> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH] hw/pci: completed master-abort emulation List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: peter.maydell@linaro.org, qemu-devel@nongnu.org, Anthony Liguori On Tue, 2013-09-24 at 11:58 +0300, Michael S. Tsirkin wrote: > corrected Anthony's mail. > > On Tue, Sep 24, 2013 at 11:44:57AM +0300, Marcel Apfelbaum wrote: > > > Not necessarily. Another bridge can claim it then > > > terminate with MA. > > > > > > Example: > > > > > > -[0000:00]-+-00.0 > > > +-02.0 > > > +-16.0 > > > +-16.3 > > > +-19.0 > > > +-1a.0 > > > +-1b.0 > > > +-1c.0-[02]-- > > > +-1c.1-[03]----00.0 > > > +-1c.3-[05-0c]-- > > > +-1c.4-[0d]--+-00.0 > > > | \-00.3 > > > > > > > > > > > > Device 03:00.0 writes to within memory window of 00:1c.4, > > > but outside BARs of both 0d:00.0 and 0d:00.3. > > > > > > On PCI, I think MA is set in sec status register of 00:1c.4. > > You are right, my code will work only under the assumption > > that the devices do not communicate between them. > > I will state the above in the next version. > > > > Thanks, > > Marcel > > How hard is it to fix properly? We need to check all the bridges on each bus encountered for their address range; if it corresponds to the transaction address, we pass the bridge to the other bus(depending on transaction's direction). > If that's hard, would it be easier to implement express > semantics unconditionally? I think PCI Express would follow the same algorithm anyway, Thanks, Marcel > >