Specification Sheet

GTTMMADR Registers
544 Datasheet, Volume 2 of 2
15.11 Global Command Register (MGCMD)—Offset
108300h
Register to control remapping hardware. If multiple control fields in this register need
to be modified, software should serialize the modifications through multiple writes to
this register.
Access Method
Default: 0h
Type: MEM
(Size: 32 bits)
Offset: [B:0, D:2, F:0] + 108300h
3
1
2
8
2
4
2
0
1
6
1
2
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
TE
SRTP
SFL
EAFL
WBF
QIE
IRE
SIRTP
CFI
RSVD
Bit
Range
Default &
Access
Field Name (ID): Description
31
0h
RO_V
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 should 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 should 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
0h
WO
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 should be performed before enabling or re-
enabling (after disabling) DMA remapping through the TE field.
After a "Set Root Table Pointer" operation, software should 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 should 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.