aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2023-06-30 17:56:55 -0400
committerGitHub <noreply@github.com>2023-06-30 17:56:55 -0400
commitf45f7269b71e3da218a1e1bb4d08b8954cab2d70 (patch)
treeb3db00c4e450d4b5fa367dc76a7b701c50fbfac0
parent71f5a8fd1b1185b7c15151f116aa3fef058bf210 (diff)
parentfb18fe2d93988e3b9d469f6681c48cdb6c6a7835 (diff)
downloadriscv-isa-sim-f45f7269b71e3da218a1e1bb4d08b8954cab2d70.zip
riscv-isa-sim-f45f7269b71e3da218a1e1bb4d08b8954cab2d70.tar.gz
riscv-isa-sim-f45f7269b71e3da218a1e1bb4d08b8954cab2d70.tar.bz2
Merge pull request #1337 from YenHaoChen/pr-icount-bugfix
triggers: icount: not to decrease on firing icount trigger with Debug Mode action
-rw-r--r--riscv/triggers.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/riscv/triggers.cc b/riscv/triggers.cc
index 65ba4c9..39a7330 100644
--- a/riscv/triggers.cc
+++ b/riscv/triggers.cc
@@ -317,7 +317,7 @@ std::optional<match_result_t> icount_t::detect_icount_match(processor_t * const
ret = match_result_t(TIMING_BEFORE, action);
}
- if (count >= 1) {
+ if (count >= 1 && (ret == std::nullopt || action != MCONTROL_ACTION_DEBUG_MODE)) {
if (count == 1)
pending = 1;
count = count - 1;