64
Intel® Xeon® Processor E5-1600/E5-2600/E5-4600 Product Families
Datasheet Volume One
2.5.2.8
RdPCIConfig()
The RdPCIConfig() command provides sideband read access to the PCI configuration
space maintained in downstream devices external to the processor. PECI originators
may conduct a device/function/register enumeration sweep of this space by issuing
reads in the same manner that the BIOS would. A response of all 1’s may indicate that
the device/function/register is unimplemented even with a ‘passing’ completion code.
Alternatively, reads to unimplemented registers may return a completion code of 0x90
indicating an invalid request. Responses will follow normal PCI protocol.
PCI configuration addresses are constructed as shown in
Figure 2-44
. Under normal in-
band procedures, the Bus number would be used to direct a read or write to the proper
device. Actual PCI bus numbers for all PCI devices including the PCH are programmable
by BIOS. The bus number for PCH devices may be obtained by reading the CPUBUSNO
CSR. Refer to the
Intel® Xeon® Processor E5 Product Family Datasheet Volume Two
document for details on this register.
PCI configuration reads may be issued in byte, word or dword granularities.
2.5.2.8.1
Command Format
The RdPCIConfig() format is as follows:
Write Length:
0x06
Read Length:
0x05 (dword)
Command:
0x61
Description: Returns the data maintained in the PCI configuration space at the
requested PCI configuration address. The Read Length dictates the desired data return
size. This command supports only dword responses with a completion code on the
processor PECI clients. All command responses are prepended with a completion code
that includes additional pass/fail status information. Refer to
Section 2.5.5.2
for details
regarding completion codes.
Note:
The 4-byte PCI configuration address and read data field defined in
Figure 2-45
are sent in standard PECI ordering with
LSB first and MSB last.
Figure 2-44. PCI Configuration Address
31
Reserved
27
28
20 19
15
11
14
12
0
Function
Device
Bus
Register
Figure 2-45. RdPCIConfig()