Datasheet

Processor Configuration Registers
232 Datasheet, Volume 2
2.16.7 CCMD_REG—Context Command Register
This register manages context cache. The act of writing the uppermost byte of the
CCMD_REG with ICC field set causes the hardware to perform the context-cache
invalidation.
B/D/F/Type: 0/0/0/DMIVC1REMAP
Address Offset: 28–2Fh
Reset Value: 0000000000000000h
Access: RW-SC, RW, RO, W
Bit Attr
Reset
Value
Description
63 RW-SC 0b
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 to be 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 not submit another
invalidation request through this register while the ICC field is set.
Software must submit a context cache invalidation request through this field
only when there are no invalidation requests pending at this DMA-remapping
hardware unit. Refer to the VTd specification for software programming
requirements.
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.
Refer to the VTd specification for write buffer flushing requirements.
62:61 RW 00b
Context Invalidation Request Granularity (CIRG)
Software provides the requested invalidation granularity through this field
when setting the ICC field.
Following are the encodings for the CIRG field:
00 = Reserved.
01 = Global Invalidation request.
10 = Domain-selective invalidation request. The target domain-id must be
specified in the DID field.
11 = 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.