Agilex™ 5 ES Device Errata and User Guidelines

ID 825514
Date 8/11/2025
Public
Document Table of Contents

3.2.12. 2052428: An execution of MSR instruction might not update the destination register correctly when an external debugger initiates an APB write operation to update debug registers

Description

When an MSR instruction and an APB write operation are processed on the same cycle, the MSR instruction might not update the destination register correctly.

Conditions

This erratum occurs under the following conditions:
  1. A CPU executes an MSR instruction to update any of following SPR registers:
    • DBGBCR<n>_EL1
    • DBGBVR<n>_EL1
    • DBGWCR<n>_EL1
    • DBGWVR<n>_EL1
    • OSECCR_EL1
  2. An external debugger initiates an APB write operation for any of following registers:
    • DBGBCR<n>
    • DBGBVR<n>
    • DBGBXVR<n>
    • DBGWCR<n>
    • DBGWVR<n>
    • DBGWXVR<n>
    • EDECCR
    • EDITR
  3. The SPR registers (for example, OSLSR_EL1.OSLK and EDSCR.TDA) and external pins are programmed to allow the following behavior:
    • The execution of an MSR instruction in condition 1 to update its destination register without neither a system trap nor a debug halt
    • The APB write operation in condition 2 to update its destination register without error
  4. The MSR instruction execution in condition 1 and APB write operation in condition 2 happen in same cycle.
  5. The MSR write and the APB write are to two different registers. The architecture specifies that it is the software or debugger's responsibility to ensure writes to the same register are updated as expected.

Impact

If the above conditions are met, an execution of the MSR instruction might not update the destination register correctly. The destination register might contain one of following values after execution:

  • The execution of the MSR instruction is ignored. The destination register of the MSR instruction holds an old value.
  • The execution of the MSR instruction writes an incorrect value to its destination register.

An external debugger and system software are expected to be coordinated to prevent conflict in these registers.

Workaround

No workaround is required for this erratum.

Category

Category C