Root Complex Base Address Register 0 @0x10

This is the Base Address Register 0 in the Type-1 Config Space. It can be configured as a 32-bit memory BAR, a 32-bit I/O BAR, or it can be paired with RC BAR 1 to form a 64-bit memory BAR. The parameters of this BAR are configured in the local management register Root Complex BAR Configuration Register.

Table 1. i_RC_BAR_0
Bits SW Name Description Reset
0 R BAR Type [MSI0] Specifies whether this BAR defines a memory address range or an I/O address range (0 = memory, 1 = I/O). The value read in this field is determined by the setting of Root Complex BAR Configuration Register. 0x0
1 R Reserved [R7] This bit is hardwired to 0 for both memory and I/O BARs. 0x0
2 R Size [S0] For memory BAR, this bit reads as 0 when BAR 0 is configured as a 32-bit BAR, and as 1 when configured as a 64-bit BAR.

For I/O BAR, this is bit 3 of the base address. The value read in this field is determined by the setting of Root Complex BAR Configuration Register.

0x0
3 R Prefetchability [P0] For memory BAR, this bit reads as 1 when BAR 0 is configured as a prefetchable BAR, and as 0 when configured as a non-prefetchable BAR.

For I/O BAR, his is bit 3 of the base address. The value read in this field is determined by the setting of Root Complex BAR Configuration Register.

0x0
21:4 R Base Address - RO part [BAMR0] This field defines the base address of the memory address range. The number of implemented bits in this field determines the BAR aperture configured in Root Complex BAR Configuration Register. All other bits are not writeable and are read as 0's. 0x0
31:22 R/W Base Address - RW part [BAMRW] This field defines the base address of the memory address range. The number of implemented bits in this field determines the BAR aperture configured in Root Complex BAR Configuration Register. All other bits are not writeable and are read as 0's. 0x0