beautypg.com

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

background image

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.