* Prasad Joshi (P.G.Joshi@xxxxxxxxxxxxxxxxxxxxx) wrote: > I have few (may be stupid) questions on this > > > From: Chris Wright [chrisw@xxxxxxxxxxxx] > > That's the issue. The IOMMU has a set of page tables for each DeviceID. > > For most devices, the DeviceID is the same as the Bus:Dev.Func (the PCI > > address) of the device. But this does not always work. One example is > > when a device is behind a PCI-to-PCI Bridge. In that case, the device > > memory read/write requests (attempts to DMA) will appear as if they came > > from the bridge. > > Oh I see, I can understand this part. > > > > > 00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge > > Bus: primary=00, secondary=01, subordinate=01, sec-latency=64 > > > > That's the bridge that sits between your e100 and the IOMMU. > > Can you please explain how did you make out the device 01:05:0 is behind the bridge? > 01:05.0 Ethernet controller: Intel Corporation 82557/8/9/0/1 Ethernet Pro 100 (rev 0c) A PCI bridge has config space that states what busses are behind it. The bridge at 00:14.4 is a bridge between bus 0 and bus 1, you can tell from this line: Bus: primary=00, secondary=01, subordinate=01, sec-latency=64 There are no other devices behind that bridge (so theoretically you could safely use it for device assignment). > If you can explain this, I will try to find if the other network card > also sits behind the bridge or not. The other network interface card you have (03:00.0) is a PCIe device, it's upstream is the PCIe port. It should not have the aliasing issue, and should work. 00:06.0 PCI bridge: ATI Technologies Inc RD890 PCI to PCI bridge (PCI express gpp port F) Bus: primary=00, secondary=03, subordinate=03, sec-latency=0 03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller > I would like to know the same thing > for the PCIe GPU card connected to my machine. If GPU card is also sitting > behind the bridge then the hardware may be useless for the project. :( The GPU is also in a PCIe port, here: 00:02.0 PCI bridge: ATI Technologies Inc RD890 PCI to PCI bridge (PCI express gpp port B) Bus: primary=00, secondary=06, subordinate=06, sec-latency=0 06:00.0 VGA compatible controller: nVidia Corporation G86 [Quadro NVS 290] > Please explain how to find out this information. Using lspci -t you can see the topology pretty easily. Otherwise you can sift through lspci output to find the topology. thanks, -chris -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html