Разница между DVSEC, VSEC и RCRB

Может кто-нибудь объяснить, в чем разница между VSEC и DVSEC.
Насколько я понял, VSEC привязан к vendorID, а DVSEC нет, но до сих пор не ясно, как?

А что такое комплексный регистровый блок Rot - RCRB? Зачем это нужно пользователю, когда есть DVSEC?


person haykp    schedule 05.08.2020    source источник


Ответы (1)


VSEC предназначен для использования одним поставщиком. Идентификатор поставщика устройства управляет форматом и содержимым структуры VSEC.

DVSEC предназначен для того, чтобы один тип структуры мог использоваться несколькими скоординированными поставщиками. Для поддержки этого в DVSEC есть поле идентификатора поставщика DVSEC, идентифицирующее поставщика, определившего формат структуры DVSEC, который может отличаться от идентификатора поставщика устройства, содержащего структуру DVSEC. Это позволяет нескольким поставщикам устройств использовать одно и то же определение DVSEC.

RCRB определяется PCI-SIG, поэтому он не связан с возможностями, определяемыми поставщиком.

person prl    schedule 07.08.2020
comment
Но зачем нам RCRB, когда есть DVSEC или VSEC? - person haykp; 16.08.2020
comment
Зачем нам нужны какие-либо возможности, определенные спецификацией PCIe? Почему вы выделяете RCRB? Это не имеет ничего общего с VSEC или DVSEC. - person prl; 16.08.2020
comment
Я хочу сказать, что DVSEC выполняет те же функции, что и RCRB, верно? В чем разница между RCRB и DVSEC? - person haykp; 17.08.2020
comment
Говорю вам, DVSEC не имеет той же функции, что и RCRB Header. Они не имеют ничего общего друг с другом. DVSEC предназначен для поставщиков (не PCI-SIG) для определения собственных возможностей. - person prl; 17.08.2020
comment
Спасибо за обучение. DVESC для поставщиков, чтобы определить свои собственные возможности, понял. А что за РКРБ? - person haykp; 17.08.2020