You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have a question about how mcontrol6 triggers should act in the following scenario:
We have a memory instruction - e.g. a load, which is executed at PC 0x10 and loads from memory address 0x20
Trigger 0 is set to exact match on address 0x10 (execute), with action Breakpoint exception (0)
Trigger 1 is set to exact match on address 0x20 (load), with action Enter debug mode (1)
Also assuming we are trying to do "before" timing, precisely.
The spec is clear what should happen if both actions were Breakpoint exception - Trigger 0 would fire first, as defined in the table in Section 5.3 (Priority). Instruction address breakpoint from execute address before has higher priority than Load address breakpoint from load address before. But this table only applies to synchronous exceptions, not debug mode entry.
There is also discussion below that table on what should happen if two triggers of the same priority fire at once, for various actions. But based on the above table, it cannot be assumed that these two triggers have the same priority, so it doesn't necessarily apply
I understand that a lot of this behaviour around timings and priorities is implementation defined, but it would be useful to get some input on the intention or recommended solution for this scenario.
The text was updated successfully, but these errors were encountered:
I think that "synchronous exception" in that table really means things that cause either a synchronous trap or a synchronous halt. It's everything except for interrupts, haltreq, tmexttrigger firing, and any other asynchronous things. All triggers with action=0 and action=1 are treated the same for purposes of that table, though maybe that should be clarified.
I have a question about how
mcontrol6
triggers should act in the following scenario:Breakpoint exception
(0)Enter debug mode
(1)Also assuming we are trying to do "before" timing, precisely.
The spec is clear what should happen if both actions were
Breakpoint exception
- Trigger 0 would fire first, as defined in the table in Section 5.3 (Priority).Instruction address breakpoint
fromexecute address before
has higher priority thanLoad address breakpoint
fromload address before
. But this table only applies to synchronous exceptions, not debug mode entry.There is also discussion below that table on what should happen if two triggers of the same priority fire at once, for various actions. But based on the above table, it cannot be assumed that these two triggers have the same priority, so it doesn't necessarily apply
I understand that a lot of this behaviour around timings and priorities is implementation defined, but it would be useful to get some input on the intention or recommended solution for this scenario.
The text was updated successfully, but these errors were encountered: