Sun PCI-Express Root Complex Information (Type 138)

Source: illumos, usr/src/uts/common/sys/smbios_impl.h.

Describes the PCI address of a PCI-Express root complex or root port and the baseboard containing it.

Table 1. Sun PCI-Express Root Complex Information structure
Offset Version Name Length Value Description

0x00

2.0+

Type

BYTE

138

Sun PCI-Express Root Complex Information indicator

0x01

2.0+

Length

BYTE

0x08

Length of the structure

0x02

2.0+

Handle

WORD

Varies

0x04

2.0+

Baseboard Handle

WORD

HANDLE

Baseboard containing the root complex or root port

0x06

2.0+

Bus/Device/Function

WORD

NUMBER

PCI address of the root complex or root port

Bus, device and function numbers are packed as in PCI routing IDs: bus number in bits 15:8, device number in bits 7:3, function number in bits 2:0. The structure definition leaves the packing out, and it is known from how illumos uses the field: the x86pi topology module matches it against the bits 23:8 of the reg property of PCI devices, see x86pi_bdf in usr/src/lib/fm/topo/modules/i86pc/x86pi/x86pi_subr.c.