Root Complex BAR Configuration Register @0x300

The root complex side of the Controller contains two memory BARs that can be used for address range checking of incoming requests from devices connected to it. The fields in this register determine the configuration of these BARs.

Table 1. i_rc_BAR_config_reg
Bits SW Name Description Reset
5:0 R/W RC BAR 0 Aperture [RCBAR0A] This field specifies the aperture of the RC BAR 0. The encodings are:
  • 0000 = 4,
  • 00001 = 8B,
  • .....
  • 01_1111 = 8G,
  • 10_0100 = 256G.
0x14
8:6 R/W RC BAR 0 control [RCBAR0C] Specifies the configuration of RC BAR 0. The various encodings are:
  • 000: Disabled
  • 001: 32-bit I/O BAR
  • 010–011: Reserved
  • 100: 32-bit memory BAR, non-prefetchable
  • 101: 32-bit memory BAR, prefetchable
  • 110: 64-bit memory BAR, non-prefetchable
  • 111: 64-bit memory BAR, prefetchable
0x4
13:9 R/W RC BAR 1 Aperture [RCBAR1A] This field specifies the aperture of the RC BAR 1. The encodings are:
  • 0000 = 4,
  • 00001 = 8B,
  • .....
  • 1_1101 = 2G
0x14
16:14 R/W RC BAR 1 control [RCBAR1C] Specifies the configuration of RC BAR 1. The various encodings are:
  • 000: Disabled
  • 001: 32-bit I/O BAR
  • 010–011: Reserved
  • 100: 32-bit memory BAR, non-prefetchable
  • 101: 32-bit memory BAR, prefetchable
  • 110–111: Reserved
0x0
17 R/W Type 1 cfg prefetchable mem bar enable [RCBARPME] Enable for Prefetchable memory base and limit registers in type 1 config space 0x0
18 R/W Type 1 cfg prefetchable mem bar size [RCBARPMS] Width of Prefetchable Memory Base and Limit registers in type 1 config space.
  • 0 = 32 bits
  • 1 = 64bits
0x0
19 R/W Type 1 cfg I/O bar enable [RCBARPIE] Enable for I/O Base and Limit registers in type 1 config space 0x0
20 R/W Type 1 cfg I/O bar size [RCBARPIS] Width of I/O Base and Limit registers in type 1 config space.
  • 0 = 32 bits
  • 1 = 64bits
0x0
30:21 R Reserved [R10] Reserved 0x0
31 R/W RC BAR Check Enable [RCBCE] This bit must be set to 1 to enable BAR checking in the RC mode. When this bit is set to 0, the Controller will forward all incoming memory requests to the client logic without checking their address ranges. 0x0