Context Command Register (CCMD_REG_0_0_0_VTDBAR) – Offset 28
Register to manage context cache. The act of writing the uppermost byte of the CCMD_REG with the ICC field Set causes the hardware to perform the context-cache invalidation.
Bit Range | Default | Access | Field Name and Description |
63 | 0x0 | RW/V | Invalidate Context Cache (ICC) Software requests invalidation of context-cache by setting this field. Software must also set the requested invalidation granularity by programming the CIRG field. Software must read back and check the ICC field is Clear to confirm the invalidation is complete. Software must not update this register when this field is set. Hardware clears the ICC field to indicate the invalidation request is complete. Hardware also indicates the granularity at which the invalidation operation was performed through the CAIG field. Software must submit a context-cache invalidation request through this field only when there are no invalidation requests pending at this remapping hardware unit. Since information from the context-cache may be used by hardware to tag IOTLB entries, software must perform domain-selective (or global) invalidation of IOTLB after the context cache invalidation has completed. Hardware implementations reporting write-buffer flushing requirement (RWBF=1 in Capability register) must implicitly perform a write buffer flush before invalidating the context cache. |
62:61 | 0x0 | RW | Context Invalidation Request Granularity (CIRG) Software provides the requested invalidation granularity through this field when setting the ICC field: 0: Reserved. 1: Global Invalidation request. 2: Domain-selective invalidation request. The target domain-id must be specified in the DID field. 3: Device-selective invalidation request. The target source-id(s) must be specified through the SID and FM fields, and the domain-id (that was programmed in the context-entry for these device(s)) must be provided in the DID field. Hardware implementations may process an invalidation request by performing invalidation at a coarser granularity than requested. Hardware indicates completion of the invalidation request by clearing the ICC field. At this time, hardware also indicates the granularity at which the actual invalidation was performed through the CAIG field. |
60:59 | 0x1 | RO/V | Context Actual Invalidation Granularity (CAIG) Hardware reports the granularity at which an invalidation request was processed through the CAIG field at the time of reporting invalidation completion (by clearing the ICC field). The following are the encodings for this field: 0: Reserved. 1: Global Invalidation performed. This could be in response to a global, domain-selective or device-selective invalidation request. 2: Domain-selective invalidation performed using the domain-id specified by software in the DID field. This could be in response to a domain-selective or device-selective invalidation request. 3: Device-selective invalidation performed using the source-id and domain-id specified by software in the SID and FM fields. This can only be in response to a device-selective invalidation request. |
58:34 | 0h | RO | Reserved |
33:32 | 0x0 | WO | Function Mask (FM) Software may use the Function Mask to perform device-selective invalidations on behalf of devices supporting PCI Express Phantom Functions... This field specifies which bits of the function number portion (least significant three bits) of the SID field to mask when performing device-selective invalidations. The following encodings are defined for this field: 0: No bits in the SID field masked. 1: Mask most significant bit of function number in the SID field. 2: Mask two most significant bit of function number in the SID field. 3: Mask all three bits of function number in the SID field. The context-entries corresponding to all the source-ids specified through the FM and SID fields must have to the domain-id specified in the DID field. |
31:16 | 0x0 | WO | Source ID (SID) Indicates the source-id of the device whose corresponding context-entry needs to be selectively invalidated. This field along with the FM field must be programmed by software for device-selective invalidation requests. |
15:0 | 0x0 | RW | Domain ID (DID) Indicates the id of the domain whose context-entries need to be selectively invalidated. This field must be programmed by software for both domain-selective and device-selective invalidation requests. The Capability register reports the domain-id width supported by hardware. Software must ensure that the value written to this field is within this limit. Hardware may ignore and not implement bits15:N, where N is the supported domain-id width reported in the Capability register. |