Reads a value from a given PCI configuration register. The register address is computed from the wBusNum, wDeviceNum, and wfunction fields of the PCIDEV structure, and the byOffset/wOffset parameter. The register size is determined by the bySize parameter.
The PciGetConfigRegister call uses the PCI 2.2 method for accessing the configuration space reigster. The PciegetConfigRegister call uses the PCIe 1.1 method for accessing the registers.
DWORD PciGetConfigRegister( PCIDEV *pPciDevice, BYTE byOffset, BYTE bySize ); DWORD PcieGetConfigRegister( PCIDEV *pPciDevice, WORD wOffset, BYTE bySize );
pPciDevice
byOffset, wOffset
bySize
The value of the register read. The number of valid bits is determined by the value of the bySize parameter.
If the PciGetCOnfigRegister call is not supported on a system, this call will return 0xffffffff. See Remarks section.
The PCI 2.2. specification defines a method of accessing the configuration space using a pair of I/O registers. The configuration header for each device extends for up to 256 bytes in this space per device function. The PCI Express 1.1 specification defines a method of accessing the configuration space by mapping the space to physical memory. Each device header extends for up to 4096 bytes per device function. The first 256 bytes are common to both methods.
Note that the extended PCI Express calls are only available in the ACPI MCFG record is presented to the operating system by the system firmware.
Versions | Defined in | Include | Link to |
---|---|---|---|
INtime 3.0 | intime/rt/include/pcibus.h | pcibus.h | pcibus.lib |