Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

As per the PCI standard, devices are identified on the basis of Vendor Id, Device Id and the bus no. All devices of same type have identical vendor id and device id. If I put two such devices on the same bus say bus 0. How will the PCI Software Subsystem distinguish between the two?

If such a case is not possible in PCI, then can such thing be possible through PCI Express Switch?

share|improve this question

migrated from Jun 10 '10 at 12:42

This question came from our site for system and network administrators.

Have a look here. – Iain Jun 10 '10 at 8:34
Still It does not explain what I am looking for. – vaibbhav Jun 10 '10 at 9:04

Every slot has a hardwired DevSel signal which is used for device enumeration. The driver of a PCI device doesnt know which slot the device is in. The PCI Bridge does that, afaik.

share|improve this answer
Again, from my pci driver, I need to access two identical devices (with same vendor and device id lying on the same bus). In pci_dev structure that I have to instantiate, I can specify the device id and vendor id and thus register pci driver using pci_register fucnction(). But now how do I take control of either of the 2 devices? – vaibbhav Jun 10 '10 at 9:03
Are you writing the PCI driver? Might be best to migrate this question to StackOverflow. – dsolimano Jun 10 '10 at 12:16

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.