Specifications
Product Errata 61
Revision Guide for AMD Athlon™ 64 and AMD Opteron™ Processors
25759 Rev. 3.79 July 2009
100 Compatibility Mode Branches Transfer to Illegal Address
Description
An IP-relative branch (call, jump, etc.), while in compatibility mode, may cause the processor to
transfer execution to an illegal target address. A specific set of internal pipeline conditions and code
alignment must be present. This transfer attempts to fetch an address outside the allowed
compatibility mode 32-bit address range (addresses 0000_0000h to FFFF_FFFFh). The illegal target
address will be within one of the following two 2GB logical address ranges:
0000_0001_0000_0000h to 0000_0001_7FFF_FFFFh
FFFF_FFFF_FFFF_FFFFh to FFFF_FFFF_8000_0000h
In most cases, due to the page mapping attributes that 64-bit operating systems place on these ranges,
the branch immediately page faults. The page fault places the illegal address in CR2. However, the
page fault also places a return instruction pointer on the exception stack that points to the correct
target address.
This erratum does not occur in legacy mode nor in 64-bit long mode.
Potential Effect on System
Compatibility mode code can transfer to an illegal address causing an unexpected page fault or
incorrect results.
Suggested Workaround
64-bit operating systems can work around this erratum by performing both of the following actions:
• Ensure that instruction fetches by compatibility user mode code will page fault when targeting the
illegal logical address ranges shown above.
• From within the page fault handler, examine the page fault error code, the value of CR2, and the
mode of the faulting instruction. If these indicate a compatibility mode instruction fetch to the
above logical address ranges, then the handler can simply return. Because the faulting instruction
pointer pushed on the stack by the processor is the correct target address, control will be
transferred to that address and operation will continue normally. This workaround only needs to
be applied to user mode page faults if the operating system allows compatibility mode only for
user mode processes.
Fix Planned
Yes










