On 2/19/24 00:25, Alvin Chang wrote:
We have implemented trigger_common_match(), which checks if the enabled privilege levels of the trigger match CPU's current privilege level. We can invoke trigger_common_match() to check the privilege levels of the type 3 triggers. Signed-off-by: Alvin Chang <alvi...@andestech.com> --- target/riscv/debug.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/riscv/debug.c b/target/riscv/debug.c index 67ba19c966..de996a393c 100644 --- a/target/riscv/debug.c +++ b/target/riscv/debug.c @@ -624,7 +624,7 @@ void helper_itrigger_match(CPURISCVState *env) if (get_trigger_type(env, i) != TRIGGER_TYPE_INST_CNT) { continue; } - if (check_itrigger_priv(env, i)) { + if (!trigger_common_match(env, TRIGGER_TYPE_INST_CNT, i)) { continue; }
Looks good. Shouldn't we also change riscv_itrigger_enabled() to also use trigger_common_match()? riscv_itrigger_enabled() is remarkably similar to helper_itrigger_match() so I believe we can also use the new function there. Thanks, Daniel
count = itrigger_get_count(env, i);