2010-06-10 2 views
2

PCI 표준에 따라 장치는 공급 업체 ID, 장치 ID 및 버스 번호에 따라 식별됩니다. 동일한 유형의 모든 장치는 동일한 공급 업체 ID 및 장치 ID를 갖습니다. 같은 버스에 같은 장치를 2 개 설치하면 버스 0이됩니다. PCI 소프트웨어 서브 시스템은이 둘을 어떻게 구별합니까?두 개의 동일한 장치가 모든 PCI 토폴로지의 동일한 버스에있을 수 있습니까?

이런 경우 PCI에서 가능하지 않다면 PCI Express Switch를 통해 가능할 수 있습니까?

답변

1

네, 괜찮습니다. 호스트는 동일한 장치를 슬롯으로 구별합니다.

0

알다시피 각 PCI 장치는 (버스, 장치, 기능)별로 고유하게 설명 될 수 있습니다. 귀하의 경우 (2 개의 장치에 동일한 VID 및 DID가 설치되어 있음)를 고려해보십시오. 다른 PCI 버스에 설치해야합니다. 동일한 버스에 있어야하는 경우 해당 장치 또는 기능 번호를 서로 다르게하십시오.

1

PCI 및 PCI Express 장치는 버스/장치/기능으로 식별됩니다.이 장치는 시스템의 장치마다 고유해야합니다. 공급 업체 및 장치 ID는 특정 버스/장치/기능에서 발견 된 장치의 속성입니다.

보드를 열거 할 때 드라이버는 일반적으로 예상 된 공급 업체 및 장치 ID와 서브 시스템 ID가 일치하는 하나 이상의 장치를 찾을 때까지 PCI 구성 공간을 검색합니다 (설치된 모든 PCI 장치를 반복합니다). 일치하는 것을 찾으면 버스/장치/기능을 열린 장치의 "핸들"로 기록해야합니다.

제대로 작성된 소프트웨어는 모든 공급 업체/장치 일치를 찾을 테이블에 넣어, 당신은 당신이 (예를 들어,/dev에/mydevice0,는/dev/mydevice1 등)을 사용하려는 하나 선택하도록한다. 그러나 첫 번째 경기에서 단순히 멈추는 게으른 소프트웨어를 보았습니다.