Intel® Core™ Ultra 200V Series Processors SOC I/O Registers
| ID | Date | Version | Classification |
|---|---|---|---|
| 831520 | 09/03/2024 | 001 | Public |
Global Command Register (GCMD_REG_0_0_0_VTDBAR) – Offset 20018
Register to control remapping hardware. If multiple control fields in this register need to be modified, software must serialize the modifications through multiple writes to this register.
For example, to update a bit field in this register at offset X with value of Y, software must follow below steps:
1. Tmp = Read GSTS_REG
2. Status = (Tmp & 96FFFFFFh) // Reset the one-shot bits
3. if (Y) {Command = (Status | (Y << X)) else {Command = (Status & ~(1 << X))}
4. Write Command to GCMD_REG
5. Wait until GSTS_REG[X] indicates command is serviced.
| Bit Range | Default | Access | Field Name and Description |
|---|---|---|---|
| 31 | 0h | WO | Translation Enable (TE) Software writes to this field to request hardware to enable/disable 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 determinstic 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. For implementations reporting Scalable Mode Translation Support (SMTS) field as Set, hardware performs global invalidation on all DMA remapping translation caches as part of Translation Disable operation. The value returned on a read of this field is undefined. |
| 30 | 0h | WO | Set Root Table Pointer (SRTP) Software sets this field to set/update the root-table pointer (and translation table mode) used by hardware. The root-table pointer (and translation table mode) is specified through the Root Table Address (RTADDR_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. For implementations reporting Enhanced Set Root Table Pointer Support (ESRTP) field as Clear, after an 'Set Root Table Pointer' operation, software must perform global invalidations on the context-cache, pasidcache, and IOTLB, in that order. This is required to ensure hardware uses only the remapping structures referenced by the new root-table pointer, and not stale cached entries. For implementations reporting Enhanced Set Root Table Pointer Support (ESRTP) field as Set, as part of 'Set Root Table Pointer' operation, hardware performs global invalidation on all DMA remapping translation caches and hence software is not required to perform additional invalidations. 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. |
| 29 | 0h | RO | Set Fault Log (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 must 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 | Enable Advanced Fault Logging (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:
The value returned on read of this field is undefined. |
| 27 | 0h | RO | Write Buffer Flush (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. |
| 26 | 0h | WO | Queued Invalidation Enable (QIE) This field is valid only for implementations supporting queued invalidations. Software writes to this field to enable or disable queued invalidations.
Hardware reports the status of queued invalidation enable operation through QIES field in the Global Status register. The value returned on a read of this field is undefined. |
| 25 | 0h | WO | Interrupt Remapping Enable (IRE) This field is valid only for implementations supporting interrupt remapping.
Hardware reports the status of the interrupt remapping enable operation through the IRES field in the Global Status register. There may be active interrupt requests in the platform when software updates this field. Hardware must enable or disable interrupt-remapping logic only at deterministic transaction boundaries, so that any in-flight interrupts are either subject to remapping or not at all. Hardware implementations must drain any in-flight interrupts requests queued in the Root-Complex before completing the interrupt-remapping enable command and reflecting the status of the command through the IRES field in the Global Status register. The value returned on a read of this field is undefined. |
| 24 | 0h | WO | Set Interrupt Remap Table Pointer (SIRTP) This field is valid only for implementations supporting interrupt-remapping. Software sets this field to set/update the interrupt remapping table pointer used by hardware. The interrupt remapping table pointer is specified through the Interrupt Remapping Table Address (IRTA_REG) register. Hardware reports the status of the 'Set Interrupt Remap Table Pointer' operation through the IRTPS field in the Global Status register. The 'Set Interrupt Remap Table Pointer' operation must be performed before enabling or re-enabling (after disabling) interrupt-remapping hardware through the IRE field. For implementations reporting Enhanced Set Interrupt Remap Table Pointer Support (ESIRTP) field as Clear, after an 'Set Interrupt Remap Table Pointer' operation, software must globally invalidate the interrupt entry cache. This is required to ensure hardware uses only the interrupt remapping entries referenced by the new interrupt remap table pointer, and not stale cached entries. For implementations reporting Enhanced Set Interrupt Table Pointer Support (ESRTP) field as Set, as part of 'Set Interrupt Remap Table Pointer' operation, hardware performs global invalidation on all Interrupt remapping translation caches and hence software is not required to perform additional invalidations. While interrupt remapping is active, software may update the interrupt remapping table pointer through this field. However, to ensure valid in-flight interrupt requests are deterministically remapped, software must ensure that the structures referenced by the new interrupt remap table pointer are programmed to provide the same remapping results as the structures referenced by the previous interrupt remap table pointer. Clearing this bit has no effect. The value returned on a read of this field is undefined. |
| 23 | 0h | WO | Compatibility Format Interrupt (CFI) This field is valid only for Intel64 implementations supporting interrupt-remapping. Software writes to this field to enable or disable Compatibility Format interrupts on Intel64 platforms. The value in this field is effective only when interrupt-remapping is enabled and Extended Interrupt Mode (x2APIC mode) is not enabled.
Hardware reports the status of updating this field through the CFIS field in the Global Status register. The value returned on a read of this field is undefined. |
| 22:0 | 0h | RO | Reserved |