Preliminary Information
AMD Athlon™ Processor Model 4 Revision Guide | 23614K |
24 Software Prefetches May Report A Page Fault
Products Affected. A4, A5, A6, A7, A9
Normal Specified Operation. Software prefetches should not report page faults if they encounter them.
■The target address of the prefetch would cause a page fault if the address was accessed by an actual memory load or store instruction under the current privilege mode;
■The prefetch instruction is followed in
PREFETCH and PREFETCHNTA/0/1/2 have the same
The page fault exception error code bits for the faulting prefetch will be identical to that for a byte- sized memory access of the
Note that some misaligned accesses can be broken up by the processor into multiple accesses where at least one of the accesses is a
If the target address of the subsequent memory access of the same
Potential Effect on System. An unexpected page fault may occur infrequently on a prefetch instruction.
Suggested Workaround. Two workarounds are described for this erratum.
Kernel Workaround
The Operating System kernel can work around the erratum by allowing the page fault handler to satisfy the page fault to an "accessible" page regardless of whether the fault was due to a load, store, or prefetch operation. If the faulting instruction is permitted access to the page, return to it as usual. (An "accessible" page is one for which memory accesses are allowed under the current privilege mode once the page is resident in memory).
If the faulting instruction is trying to access an "inaccessible" page, scan the instruction stream bytes at the faulting Instruction Pointer to determine if the instruction is a prefetch. (An "inaccessible" page is one for which memory accesses are not allowed under the current privilege mode.) If the faulting instruction is a prefetch instruction, simply return back to it; the internal hardware conditions that caused the prefetch to fault should be removed and operation should continue normally. If it is not a prefetch instruction, generate the appropriate memory access control violation as appropriate. The performance impact of doing the scan is small because the actual errata is infrequent and does not produce an excessive number of page faults that affect system performance.
General Workaround
If the
18