On Wed, Jan 14, 2026 at 02:46:34PM +0800, Nicholas Piggin wrote:
> trigger_common_match() has some warning log messages in it for
> unsupported triggers. Don't call it in BP/WP checking except for
> mcontrol/mcontrol6 triggers applicable to BP/WPs.
>
> Signed-off-by: Nicholas Piggin <[email protected]>
Reviewed-by: Chao Liu <[email protected]>
> ---
> target/riscv/debug.c | 22 ++++++++++++++++++----
> 1 file changed, 18 insertions(+), 4 deletions(-)
>
> diff --git a/target/riscv/debug.c b/target/riscv/debug.c
> index 5664466749..4273ab7a8d 100644
> --- a/target/riscv/debug.c
> +++ b/target/riscv/debug.c
> @@ -952,6 +952,14 @@ bool riscv_cpu_debug_check_breakpoint(CPUState *cs)
> for (i = 0; i < RV_MAX_TRIGGERS; i++) {
> trigger_type = get_trigger_type(env, i);
>
> + switch (trigger_type) {
> + case TRIGGER_TYPE_AD_MATCH:
> + case TRIGGER_TYPE_AD_MATCH6:
> + break;
> + default:
> + continue; /* No other types match breakpoint */
> + }
> +
> if (!trigger_common_match(env, trigger_type, i)) {
> continue;
> }
> @@ -976,8 +984,7 @@ bool riscv_cpu_debug_check_breakpoint(CPUState *cs)
> }
> break;
> default:
> - /* other trigger types are not supported or irrelevant */
> - break;
> + g_assert_not_reached();
> }
> }
> }
> @@ -998,6 +1005,14 @@ bool riscv_cpu_debug_check_watchpoint(CPUState *cs,
> CPUWatchpoint *wp)
> for (i = 0; i < RV_MAX_TRIGGERS; i++) {
> trigger_type = get_trigger_type(env, i);
>
> + switch (trigger_type) {
> + case TRIGGER_TYPE_AD_MATCH:
> + case TRIGGER_TYPE_AD_MATCH6:
> + break;
> + default:
> + continue; /* No other types match watchpoint */
> + }
> +
> if (!trigger_common_match(env, trigger_type, i)) {
> continue;
> }
> @@ -1036,8 +1051,7 @@ bool riscv_cpu_debug_check_watchpoint(CPUState *cs,
> CPUWatchpoint *wp)
> }
> break;
> default:
> - /* other trigger types are not supported */
> - break;
> + g_assert_not_reached();
> }
> }
>
> --
> 2.51.0
>
>