Visible to Intel only — GUID: dfg1685737709465
Ixiasoft
Visible to Intel only — GUID: dfg1685737709465
Ixiasoft
3.2.11. 2019409: ETM trace information records a branch to the next instruction as an N atom
Description
If a branch is taken to the next instruction, and if the instruction state remains the same, then the ETM traces it as an N atom rather than an E atom or branch address packet. This is incorrect as the ETM architecture says a taken branch should be traced as an E atom. This affects all forms of branches. State-changing branches are traced correctly.
Conditions
- ETM is enabled.
- A branch is taken to the next instruction.
- The instruction state does not change.
Impact
A trace decoder that interprets an N atom to move to the next instruction in the same state without a push or pop from the return stack will correctly maintain the control flow but will not be able to infer anything from a conditional branch.
A trace decoder that checks if unconditional branches were not traced as N atom might report an error.
Workaround
To ensure continued control flow, ensure the trace decoder always interprets an N atom to move to the next instruction in same state without a push or pop from the return stack.
Category
Category C