Rule language in BSA spec:
- RPCI_IN_06 PHB, in conjunction with Root Port, must recognize transactions that are coming in from application PEs as PCIe configuration transactions if the transaction address is within the ECAM range mapped to the Root Port, or the hierarchy that originates at that Root Port. This must be done by mapping the address of the incoming memory transaction to the PCIe Configuration address space, as described in Table 26 (See Section 7.2.2 [1]).
- RPCI_IN_07 PHB in conjunction with Root Port must return all 1s as read response data for Configuration read requests to non-existent functions and devices on the root bus, that is the primary bus of the Root Port. No error must be reported to software by the Root Port unless explicitly enabled to do so (See Section 2.3.2 [1]).
- RPCI_IN_08 PHB, in conjunction with Root Port, must return all 1s as read response data for Configuration read requests that get an unsupported request response from downstream Endpoints or switches. No error must be reported to software by the Root Port unless explicitly enabled to do so (See Section 2.3.2 [1])
- RPCI_IN_09 PHB in conjunction with Root Port must return all 1s as read response data for Configuration read requests that arrive at the Root Port targeting downstream functions when the Root port link is in DL_Down status (See Section 2.9.1 [1]). Note that this includes the case when the link is in L3 and the downstream device is in D3cold. No error must be reported to software by the Root Port unless explicitly enabled to do so (See Section 2.3.2 [1])
- RPCI_MM_02 All systems must support mapping PCI Express memory space as non-cacheable memory
Comments from @gowthamsiddarthd:
- PCI_IN_06 - BSA PCIe enumeration and Linux enumeration both validate correct discovery of hierarchy. ACS already exercises standard enumeration flows via PCIe tests (e.g., p0xx series). No additional ACS test required.
- PCI_IN_07 - Overlaps with coverage intent of PCI_IN_16. Sufficiently covered
- PCI_IN_08 - BSA enumeration logic includes config reads to non-populated BDFs. Expected behavior (UR → read returns all 1’s) is already exercised as part of enumeration checks. Behavior validated implicitly
- PCI_IN_09 - PCI_ER_05, PCI_ER_06 validate DPC handling. These tests verify config access returning ~0 during link down. Fully covered via existing error handling tests
- PCI_MM_02 - ACS test: test_pool/pcie/p094.c, Validates PCIe MMIO regions mapped as Device-nGnRnE / Non-cacheable.
Rule language in BSA spec:
Comments from @gowthamsiddarthd: