Intel® 80219 General Purpose PCI Processor
Core Errata
6.Incorrect Decode of Unindexed Mode, Using Addressing Mode 5, Can Corrupt Protected Registers
Problem: | The instruction decoder incorrectly decodes the valid combination of P=0, U=1 and W=0, when |
| using unindexed mode in addressing mode 5 (load and store coprocessor). In this case, the LDC or |
| STC should produce consecutive address loads or stores, with no base update until the coprocessor |
| signals that it has received enough data. Instead, the instruction gets separated into an LDR/STR |
| and a CP access. |
| The LDR/STR gets decoded as a |
| decoding as |
| mode, become the |
| The implication is, that protected registers can be corrupted. This errata can cause the corruption of |
| FIQ registers, |
| unindexed addressing mode. It can also cause the corruption of FIQ registers, |
| when the LDC instruction is executed using unindexed addressing. The R13 register in debug mode |
| may also be corrupted during an LDC in any mode. In the case of STC, only Rn is corrupted. |
| Unexpected memory accesses can also occur. In the case of an LDC, any memory location may be |
| accessed, since the FIQ registers may be improperly used as the base register. In the case of an |
| STC, the memory word located at Rn+4 is corrupted. This is the memory location immediately |
| following the locations which should be modified by STC unindexed. |
Workaround: | Do not use unindexed addressing in addressing mode 5 – Load and Store Coprocessor. |
Status: | NoFix. |
7.Load Immediately Following a DMM Flush Entry is Also Flushed
Problem: | A load that immediately follows a data memory management (DMM) flush entry command, that |
| also hits the data TLB, is also flushed. Therefore, the instruction immediately following the flush, |
| is also flushed from the data TLB. |
Workaround: | All flush entry commands to the data TLB must be followed by two NOPs. The first ensures the |
| erratum is not encountered, and the second ensures the speed path is not hit. |
Status: | NoFix. |
8.Trace Buffer Does Not Operate Below 1.3 V
Problem: | The trace buffer within the debug unit is not guaranteed to operate, due to voltage sensitivity, when |
| the core voltage supply is below 1.3 V. |
Workaround: | Make sure the voltage is above 1.3 V during debug. |
Status: | NoFix. |
9.Data Cache Unit Can Stall for a Single Cycle
Problem: | When the data cache unit retries an operation that is in the pending buffer, a single cycle stall |
| occurs. |
Workaround: | No workaround. This is a performance issue only. |
Status: | NoFix. |
Specification Update | 15 |