The Sdtrig extension is generally orthogonal to {cheri_base_ext_name}. However, the priority of synchronous exceptions and where triggers fit is adjusted as shown in Table 1.
Priority | Exc. Code | Description | Trigger |
---|---|---|---|
Highest |
3 |
etrigger |
|
3 |
Instruction address breakpoint |
mcontrol/mcontrol6 execute address before |
|
{cheri_excep_mcause} |
Prior to instruction address translation: |
||
12, 1 |
During instruction address translation: |
||
1 |
With physical address for instruction: |
||
3 |
mcontrol/mcontrol6 execute data before |
||
2 |
Illegal instruction |
||
3 |
Load/store/AMO address breakpoint |
mcontrol/mcontrol6 load/store address before |
|
3 |
mcontrol/mcontrol6 store data before |
||
{cheri_excep_mcause} |
CHERI faults due to: |
||
{cheri_excep_mcause} |
Prior to address translation for an explicit memory access: |
||
4,6 |
Optionally: |
||
13, 15, 5, 7 |
During address translation for an explicit memory access: |
||
5,7 |
With physical address for an explicit memory access: |
||
4,6 |
If not higher priority: |
||
13 |
If not higher priority: |
||
Lowest |
3 |
mcontrol/mcontrol6 load data before |
Note
|
See the notes beneath [exception-priority] for details about CHERI PTE page fault priority. |