Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion branchTrace.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -336,7 +336,7 @@ traced rather than the target address. If it is not found in the cache,
the entry at that index is replaced with the current instruction
address.

Note that if implicit return mode is enabled, most function return targets are inferable and are not output in the trace. Any such inferrable return target must not be stored in the cache.
Note that if implicit return mode is enabled, most function return targets are inferable and are not output in the trace. Any such inferrable return target must not be stored in the cache. This effectively puts the implicit return evaluation in series before the jump target cache, and this may present timing challenges. This can be mitigated by invalidating the cache entry that corresponds to a mis-predicted return rather than updating the entry with the actual return address. Mis-predicted returns are rare so the performance impact will be negligible.

The cache entries are all invalidated when a synchronization packet is
sent.
2 changes: 1 addition & 1 deletion discovery.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ supported when non_zero. Number of nested exceptions supported is
1
|_filter_tval_p_ | 0 or 1 | Filtering on trap value supported when 1
(provided _filter_excint_p_ is non-zero)
|_iaddress_lsb_p_ | | LSB of instruction *address* bus to trace. 1 is
|_iaddress_lsb_p_ | | LSB of instruction *address* bus to trace. 1 if
compressed instructions are supported, 2 otherwise
|_iaddress_width_p_ | | Width of instruction *address* bus. This is the
same as _DXLEN_
Expand Down
Loading