The CCIX System Address Map (SAM) is responsible for translating an address to a Target ID (TgtID) in the coherent domain. All available registers for configuration are outlined in the register section. Up to 32 SAM entries are supported, but usually much fewer than that are used.
If an address is provided that is not covered by a SAM entry, the transaction will end with Decode Error on AXI.
SAM entries are either configured in Range or Mask mode:
- Range
- Base register is the lower address and Mask register is the upper address of the defined address range
- Mask
- Mask register defines which address bits are compared with the corresponding bits in the Base register (intended for advanced users, not used by firmware)
Typically all Request Agents are assigned an ID during the PCIe/CCIX negotiations via the firmware, so the SAM requires no configuration.
It is possible for specify default values used after reset for the first four entries, using the parameters listed in the following table:
Parameter 1 | Description |
---|---|
C_SAMx_VALID | Valid entry |
C_SAMx_LOCAL | Reserved for future use, set to 0 |
C_SAMx_ID | Agent ID of Home Agent |
C_SAMx_LINK | Reserved for future use, set to 0 |
C_SAMx_BASEADDR | Lower address of range / Base for mask |
C_SAMx_HIGHADDR | Upper address of range / Mask |
|
Note: CHI systems also have SAM
for address to ID translation but in this case it is located in the CPM instead of
System Cache.