Preliminary Information

23614K— October 2003

AMD Athlon™ Processor Model 4 Revision Guide

17Code Modifications that Coincide with Level 2 Instruction TLB Translations May Escape Detection Resulting in Stale Code Execution

Products Affected. A4, A5, A6, A7, A9

Normal Specified Operation. Self-modifying code sequences should be correctly detected and handled in a manner that results in correct canonical results; stale code should not be executed.

Non-conformance.If the following events occur within a single clock cycle and the pipeline is not flushed by a coincidental event, then the processor will execute the stale code once instead of the newly generated code.

1.A write operation corresponding to the code self-modification has generated an instruction cache invalidation

2.The processor is fetching the line that is being invalidated

3.The fetch misses in the Level 1 instruction TLB

4.The fetch hits in the Level 2 instruction TLB

In this scenario the processor will properly invalidate the instruction cache line but will not mark the appropriate bit within the instruction buffer used to track instructions within the pipeline. This causes the pipeline to not be flushed and leads to execution of invalid instructions. Subsequent attempts to execute the overwritten instruction will miss in the instruction cache and the correct instruction data will be fetched from the L2 and subsequently executed.

Potential Effect on System. Stale code will be executed resulting in unpredictable system behavior.

Suggested Workaround. Consult with your platform vendor for a BIOS that works around this erratum.

Resolution Status. No fix planned.

13

Page 13
Image 13
AMD K manual Resolution Status. No fix planned