A problem in the APU Controller affects the APU-FPU. In rare cases, certain transactions on the fabric co-processor bus are malformed, which results in corruption of data or loss of synchronization leading to system lockups.
The FPU co-processor is scheduled to be fixed in EDK 8.2i Service Pack 2. This fix requires support for certain noncritical functionality to be removed, specifically the following:
- The "invalid compare" exception, or the writing of the "class" flags in the FPSCR by compare instructions.
- The "dotted forms" of any instructions.
- The "mcrfs" instruction. All other FPSCR instructions are unaffected.
None of the removed functionality is used by the Xilinx compiler.
Since these malformed transactions result when particular pipeline conditions occur in the CPU, the behavior is deterministic and repeatable. The APU-FPU can now identify and recover from these rare malformed transactions. However, as a consequence, a long stall (approximately 30 FCB) will occur.
For other relevant information on this problem, please see (Xilinx Solution 24177)
These problems have been fixed in the latest EDK 8.2i Service Pack, available at:
The first service pack containing the fix is EDK 8.2i Service Pack 2.