I spoke to an AMD engineer at the Microsoft Build conference about this error, and showed him my repro. He emailed me this morning:
We have investigated and found that this is due to a known errata in
the Llano APU family. It can be fixed via a BIOS update depending on
the OEM – if possible please recommend it to your customers (even
though you have a workaround).In case you’re interested, the errata is 665 in the Family 12h
Revision Guide (see page 45):
http://support.amd.com/TechDocs/44739_12h_Rev_Gd.pdf#page=45
Here’s the description of that erratum:
665 Integer Divide Instruction May Cause Unpredictable Behavior
Description
Under a highly specific and detailed set of internal timing conditions, the processor core may abort a speculative DIV or IDIV integer divide instruction (due to the speculative execution being redirected, for example due to a mispredicted branch) but may hang or prematurely complete the first instruction of the non-speculative path.
Potential Effect on System
Unpredictable system behavior, usually resulting in a system hang.
Suggested Workaround
BIOS should set MSRC001_1029[31].
This workaround alters the DIV/IDIV instruction latency specified in the Software Optimization Guide for AMD Family 10h and 12h Processors, order# 40546. With this workaround applied, the DIV/IDIV latency for AMD Family 12h Processors are similar to the DIV/IDIV latency for AMD Family 10h Processors.
Fix Planned
No