1

Can someone please explain what is difference between VSEC and DVSEC.
As I understood VSEC is tied with vendorID but DVSEC not, but still not clear how?

And what is Rot complex register block - RCRB? Why user need it when there is DVSEC?

Bobson
  • 13,498
  • 5
  • 55
  • 80
haykp
  • 435
  • 12
  • 29

2 Answers2

2

VSEC is intended to be used by a single vendor. The Vendor ID of the device controls the format and contents of the VSEC structure.

DVSEC is intended to allow a single structure type to be used by multiple coordinated vendors. To support this, DVSEC has a DVSEC Vender ID field identifying the vendor who defined the format of the DVSEC structure, which may be different from the Vendor ID of the device containing the DVSEC structure. This allows multiple device vendors to use the same DVSEC definition.

RCRB is defined by the PCI-SIG, so it is unrelated to the vendor-defined capabilities.

prl
  • 11,716
  • 2
  • 13
  • 31
  • But why we need RCRB, when there is DVSEC or VSEC? – haykp Aug 16 '20 at 12:56
  • Why do we need any capability defined by the PCIe spec? Why are you singling out RCRB? It has nothing to do with VSEC or DVSEC. – prl Aug 16 '20 at 13:57
  • I want to say that DVSEC does same function as RCRB, right? What is difference between RCRB and DVSEC? – haykp Aug 17 '20 at 02:36
  • I’m telling you, DVSEC does not have the same function as RCRB Header. They don’t have anything to do with each other. DVSEC is for vendors (not the PCI-SIG) to define their own capabilities. – prl Aug 17 '20 at 03:11
  • Thanks for teaching. DVESC for vendors to define their own capabilites, got it. And what for RCRB? – haykp Aug 17 '20 at 03:24
  • @prl What is the purpose of RCRB & RCiEP – user1457958 Aug 25 '23 at 15:49
0

RCRB is for RCIEP (Root Complex Integrated End points), it provides a base address. RCRB+offset points to the appropriate registers of the RCiEP config space. BAR for PCIe EP = RCRB for RCiEP.

CXL 1.1 devices are also enumerated as RCiEP, hence use RCRB+offset for attributes such as link status registers etc. Hope lspci is updated for this at some point.

cigien
  • 57,834
  • 11
  • 73
  • 112
Beo
  • 1