diff options
author | YenHaoChen <howard25336284@gmail.com> | 2022-09-30 11:55:57 +0800 |
---|---|---|
committer | YenHaoChen <howard25336284@gmail.com> | 2022-09-30 12:18:17 +0800 |
commit | a5752cebafa75b8dc539ee327bac8630e3fb84f1 (patch) | |
tree | f17cf2bbd693538e5c2c6b2a7c7fba4f4654ea76 /riscv/mmu.cc | |
parent | b724db52f9d7be3e3068e5bf01ac939ece8d032b (diff) | |
download | spike-a5752cebafa75b8dc539ee327bac8630e3fb84f1.zip spike-a5752cebafa75b8dc539ee327bac8630e3fb84f1.tar.gz spike-a5752cebafa75b8dc539ee327bac8630e3fb84f1.tar.bz2 |
Fix priority of mcontrol trigger execute address before
The spec defines the mcontrol execute address has a higher priority over
page fault (Debug spec, Table 5.2). Thus, the trigger checking should be
before the translation.
The previous implementation checks the trigger after the translation,
resulting in incorrect priority. For instance, when page fault and
trigger occur on the same instruction, the previous implementation will
choose to raise the page fault, which contradicts the priority
requirement.
This commit adds an address-only trigger checking before the
translation. The trigger will fire on the instruction instead of the
page fault in the above case.
Diffstat (limited to 'riscv/mmu.cc')
0 files changed, 0 insertions, 0 deletions