target/riscv: Apply modularized matching conditions for icount trigger

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 <alvinga@andestech.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
Message-ID: <20240626132247.2761286-4-alvinga@andestech.com>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
This commit is contained in:
Alvin Chang 2024-06-26 21:22:47 +08:00 committed by Alistair Francis
parent 72dec1666f
commit 2f5a2315b8

View file

@ -624,7 +624,7 @@ void helper_itrigger_match(CPURISCVState *env)
if (get_trigger_type(env, i) != TRIGGER_TYPE_INST_CNT) { if (get_trigger_type(env, i) != TRIGGER_TYPE_INST_CNT) {
continue; continue;
} }
if (check_itrigger_priv(env, i)) { if (!trigger_common_match(env, TRIGGER_TYPE_INST_CNT, i)) {
continue; continue;
} }
count = itrigger_get_count(env, i); count = itrigger_get_count(env, i);