Specifications

52 Product Errata
25759 Rev. 3.79 July 2009
Revision Guide for AMD Athlon™ 64 and AMD Opteron™ Processors
If the page-fault handler for a kernel can be patched as described in the preceding kernel workaround,
no further action by software is required. The following general workarounds should only be
considered for kernels where the page-fault handler can not be patched and a prefetch instruction
could end up targeting an address in an "inaccessible" page.
Because the actual errata is infrequent, it does not produce an excessive number of page faults that
affect system performance. Therefore a page fault from a prefetch instruction for an address within
an "accessible" page does not require any general workaround.
Software can minimize the occurrence of the errata by issuing only one prefetch instruction per
cache-line (a naturally-aligned 64-byte quantity) and ensuring one of the following:
In many cases, if a particular target address of a prefetch is known to encounter this errata, simply
change the prefetch to target the next byte.
Avoid prefetching inaccessible memory locations, when possible.
In the general case, ensure that the address used by the prefetch is offset into the middle of an
aligned quadword near the end of the cache-line. For example, if the address desired to be
prefetched is "ADDR", use an offset of 0x33 to compute the address used by the actual prefetch
instruction as: "(ADDR & ~0x3f) + 0x33".
Fix Planned
Yes