Processor Configuration Registers
266
Datasheet, Volume 2
2.21.4
GCMD_REG—Global Command Register
This register controls remapping hardware. If multiple control fields in this register
need to be modified, software must serialize the modifications through multiple writes
to this register.
B/D/F/Type:
0/0/0/VC0PREMAP
Address Offset:
18–1Bh
Reset Value:
00000000h
Access:
WO, RO
Size:
32 bits
BIOS Optimal Default
000000h
Bit
Attr
Reset
Value
RST/
PWR
Description
31
WO
0b
Uncore
Translation Enable (TE)
Software writes to this field to request hardware to enable/disable
DMA-remapping:
0 = Disable DMA remapping
1 = Enable DMA remapping
Hardware reports the status of the translation enable operation
through the TES field in the Global Status register.
There may be active DMA requests in the platform when software
updates this field. Hardware must enable or disable remapping
logic only at deterministic transaction boundaries, so that any in-
flight transaction is either subject to remapping or not at all.
Hardware implementations supporting DMA draining must drain
any in-flight DMA read/write requests queued within the Root-
Complex before completing the translation enable command and
reflecting the status of the command through the TES field in the
Global Status register.
The value returned on a read of this field is undefined.
30
WO
0b
Uncore
Set Root Table Pointer (SRTP)
Software sets this field to set/update the root-entry table pointer
used by hardware. The root-entry table pointer is specified through
the Root-entry Table Address (RTA_REG) register.
Hardware reports the status of the "Set Root Table Pointer"
operation through the RTPS field in the Global Status register.
The "Set Root Table Pointer" operation must be performed before
enabling or re-enabling (after disabling) DMA remapping through
the TE field.
After a "Set Root Table Pointer" operation, software must globally
invalidate the context cache and then globally invalidate of IOTLB.
This is required to ensure hardware uses only the remapping
structures referenced by the new root table pointer, and not stale
cached entries.
While DMA remapping hardware is active, software may update the
root table pointer through this field. However, to ensure valid in-
flight DMA requests are deterministically remapped, software must
ensure that the structures referenced by the new root table pointer
are programmed to provide the same remapping results as the
structures referenced by the previous root-table pointer.
Clearing this bit has no effect. The value returned on read of this
field is undefined.