Writes a value to 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.
void PciSetConfigRegister( PCIDEV *pPciDevice, BYTE byOffset, BYTE bySize, DWORD dwValue ); void PcieSetConfigRegister( PCIDEV *pPciDevice, WORD wOffset, BYTE bySize, DWORD dwValue );
pPciDevice
byOffset, wOffset
bySize
DwValue
bySize
parameter. None.
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. If this is not available the PcieSetConfigRegister call will have no effect.
Versions | Defined in | Include | Link to |
---|---|---|---|
INtime 3.0 | intime/rt/include/pcibus.h | pcibus.h | pcibus.lib |