Intel 80219 specifications Operation may be incorrectly cancelled

Page 17

Intel® 80219 General Purpose PCI Processor

Core Errata

11.Performance Monitor Unit Event 0x1 Can Be Incremented Erroneously by Unrelated Events

Problem:

Event 0x1 in the performance monitor unit (PMU) can be used to count cycles in which the

 

instruction cache cannot deliver an instruction. The only cycles counted should be those due to an

 

instruction cache miss or an instruction TLB miss. The following unrelated events in the core, also

 

causes the corresponding count to increment when event number 0x1 is being monitored:

1.Any architectural event (e.g. IRQ, data abort)

2.MSR instructions which alter the CPSR control bits

3.Some branch instructions, including indirect branches and those mispredicted by the BTB

4.CP15 mcr instructions to registers 7, 8, 9, or 10 which involve the instruction cache or the instruction TLB.

Each of the items above may cause the performance monitoring count to increment several times. The resulting performance monitoring count may be higher than expected when the above items occur, but never lower.

Workaround: There is no way to obtain the correct number of cycles stalled due to instruction cache misses and instruction TLB misses. Extra counts due to branch instructions mispredicted by the BTB, may be one component of the unwanted count that can be filtered out. The number of mispredicted branches can also be monitored using performance monitoring event 0x6 during the same time period as event 0x1. The mispredicted branch number can then be subtracted from the instruction cache stall number generated by the performance monitor to get a value closer to the correct one. Note that this only addresses counts contributed by branches that the BTB is able to predict. All the items listed above still affect the count. Depending on the nature of the code being monitored, this workaround may have limited value.

Status: NoFix.

12.In Special Debug State, Back-to-Back Memory Operations Where the First Instruction Aborts May Cause a Hang

Problem:

When back-to-back memory operations occur in the Special Debug State (SDS, used by ICE and

 

Debug vendors) and the first memory operation gets a precise data abort, the first memory

 

operation is correctly cancelled and no abort occurs. However, depending on the timing, the second

 

memory operation may not work correctly. The data cache may internally cancel the second

 

operation, but the register file may have score-boarded registers for that second memory operation.

 

The effect is that the core may hang (due to a permanently score-boarded register) or that a store

 

operation may be incorrectly cancelled.

Workaround:

In Special Debug State, any memory operation that may cause a precise data abort should be

 

followed by a write-buffer drain operation. This precludes further memory operations from being

 

in the pipe when the abort occurs. Load Multiple/Store Multiple that may cause precise data aborts

 

should not be used.

Status:

NoFix.

Specification Update

17

Image 17
Contents Intel 80219 General Purpose PCI Processor Specification Update Contents This Page Left Intentionally Blank Revision History Nomenclature PrefaceAffected Documents/Related Documents Codes Used in Summary Table Summary Table of ChangesSteppings Status Errata Core ErrataFRAME# Non-Core ErrataDocumentation Changes Specification ChangesSpecification Clarifications Markings Identification InformationDie Details Core Errata Drain Is Not Flushed Correctly when Stalled in the PipelineExtra Circuitry Is Not Jtag Boundary Scan Compliant Debug Unit Synchronization with the Txrxctrl RegisterData Cache Unit Can Stall for a Single Cycle Trace Buffer Does Not Operate Below 1.3Core Errata Operation may be incorrectly cancelled Disabling the MMU or re-enabling it afterwards Core Errata Non-Core Errata PBI Issue When Using 16-bit PBI Transactions in PCI ModeContinues running the counter MCU supports a page size of 2 Kbytes for 64-bit mode Vih Minimum Input High Voltage Vih level for the PCI pins Gpio Output Data Register address = Ffff E7CCh Specification ChangesController Application note Hot-Debug for Intel Xscale Core Debug Specification ClarificationsReading Unpopulated Sdram Memory Banks BAR0 Configuration When Using the Messaging Unit MUNot completed out of order Writing to reserved registers can cause unexpected behaviorDocumentation Changes This Page Left Intentionally Blank