1 decoderegister(offset), 2 getsize(), 3 configuration register types – Teledyne LeCroy Summit T3-16 PCIe Multi-lane Protocol Analyzer User Manual User Manual
Page 250: 4 primitives, 1 getregisterfield
Teledyne LeCroy
Configuration Register Types
238
Summit T3‐16 PCI Express Multi‐Lane Protocol Analyzer User Manual
12.2.1
DecodeRegister(offset)
The application calls this function while decoding a specific DWORD offset of the
specified CapabilityID. The offset is the decoding entry point, where the decoding path
starts.
The Configuration Space Editor calls this function to determine how to decode the
assigned configuration space. The offset parameter is the DWORD to decode.
An offset of 0 indicates bytes 00h‐03h, an offset of 1 indicates bytes 04h‐07h, and so on.
Note:
The Configuration Space Editor can only decode one DWORD at a time.
12.2.2
GetSize()
This function returns the size of the capability structure specified by CapabilityID.
12.3 Configuration
Register
Types
The following reserved variables are defined global constants.
CFGREG_UNDEFINED
CFGREG_HWINIT
CFGREG_RO
CFGREG_RW
CFGREG_RW1C
CFGREG_ROS
CFGREG_RWS
CFGREG_RW1CS
CFGREG_RSVDP
CFGREG_RSVDZ
Note:
These reserved variables match the Configuration Register Types of Table 7‐2 in Section 7.4 of
the PCI Express Base Specification, Rev. 2.1.
12.4 Primitives
Decoding uses the following primitives.
12.4.1
GetRegisterField
GetRegisterField(dword_offset, bit_offset, field_length)
This function returns a register field of length field_length, starting at bit position
bit_offset in DWORD dword_offset.
dword_offset: DWORD offset of the register field location
bit_offset: Bit offset of the register field location
field_length: Length of the register field
For example, GetRegisterField(1, 9, 2); means: Go to DWORD 1, bit offset 9, and returns
2 bits.