Specification Sheet
GFXVTBAR Registers
270 Datasheet, Volume 2 of 2
Bit
Range
Default &
Access
Field Name (ID): Description
31
0h
RW_KV
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.
29
0h
RO
SFL: This field is valid only for implementations supporting advanced fault logging.
Software sets this field to request hardware to set/update the fault-log pointer used by
hardware. The fault-log pointer is specified through Advanced Fault Log register.
Hardware reports the status of the 'Set Fault Log' operation through the FLS field in
the Global Status register.
The fault log pointer should be set before enabling advanced fault logging (through
EAFL field). Once advanced fault logging is enabled, the fault log pointer may be
updated through this field while DMA remapping is active.
Clearing this bit has no effect. The value returned on read of this field is undefined.
28
0h
RO
EAFL: This field is valid only for implementations supporting advanced fault logging.
Software writes to this field to request hardware to enable or disable advanced fault
logging:
0: Disable advanced fault logging. In this case, translation faults are reported through
the Fault Recording registers.
1: Enable use of memory-resident fault log. When enabled, translation faults are
recorded in the memory-resident log. The fault log pointer should be set in hardware
(through the SFL field) before enabling advanced fault logging. Hardware reports the
status of the advanced fault logging enable operation through the AFLS field in the
Global Status register.
The value returned on read of this field is undefined.
27
0h
RO
WBF: This bit is valid only for implementations requiring write buffer flushing.
Software sets this field to request that hardware flush the Root-Complex internal write
buffers. This is done to ensure any updates to the memory-resident remapping
structures are not held in any internal write posting buffers.
Hardware reports the status of the write buffer flushing operation through the WBFS
field in the Global Status register.
Clearing this bit has no effect. The value returned on a read of this field is undefined.