On 1/14/2026 1:46 AM, 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: Daniel Henrique Barboza <[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();
          }
      }


Reply via email to