From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate.crashing.org (gate.crashing.org [63.228.1.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id A0335DDFAF for ; Thu, 9 Apr 2009 16:21:38 +1000 (EST) Subject: Re: tracking of PCI address space From: Benjamin Herrenschmidt To: Kumar Gala In-Reply-To: References: Content-Type: text/plain Date: Thu, 09 Apr 2009 08:21:31 +0200 Message-Id: <1239258091.7279.22.camel@pasglop> Mime-Version: 1.0 Cc: linux-pci@vger.kernel.org, Linux Kernel Mailing List , Jesse Barnes , Linux/PPC Development List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Wed, 2009-04-08 at 15:53 -0500, Kumar Gala wrote: > I was wondering if we have anything that tracks regions associated > with the "inbound" side of a pci_bus. > > What I mean is on embedded PPC we have window/mapping registers for > both inbound (accessing memory on the SoC) and outbound (access PCI > device MMIO, IO etc). The combination of the inbound & outbound > convey what exists in the PCI address space vs CPU physical address > space (and how to map from one to the other). Today in the PPC land > we only attach outbound windows to the pci_bus. So technically the > inbound side information (like what subset of physical memory is > visible on the PCI bus) seems to be lost. On powerpc, we do keep track of the offset, but that's about it. Tracking inbound ranges is very platform specific though. You can have multiple inbound windows with different translations, in some cases some via iommu and some not, or windows aliasing the same target memory but with different attributes, etc... I don't think there's that much interest in trying to create generic code to keep track. Ben.