On 11/13/24 17:12, Philippe Mathieu-Daudé wrote:
TARGET_PAGE_MASK is defined in "exec/cpu-all.h".
Include it in order to avoid when refactoring:

   system/watchpoint.c:52:24: error: use of undeclared identifier 
'TARGET_PAGE_MASK'
      52 |     in_page = -(addr | TARGET_PAGE_MASK);
         |                        ^

Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org>
---
  system/watchpoint.c | 1 +
  1 file changed, 1 insertion(+)

diff --git a/system/watchpoint.c b/system/watchpoint.c
index 2aa2a9ea63..f7366574a3 100644
--- a/system/watchpoint.c
+++ b/system/watchpoint.c
@@ -20,6 +20,7 @@
  #include "qemu/osdep.h"
  #include "qemu/error-report.h"
  #include "exec/exec-all.h"
+#include "exec/cpu-all.h"

This uses TARGET_PAGE_MASK to choose between flushing one page or the entire tlb. Better would be to use tlb_flush_range_by_mmuidx(..., ALL_MMUIDX_BITS) to flush exactly one or two pages.

That said, I've just noticed that tlb_flush_range_by_mmuidx does not properly handle addr+len that are not already page aligned. That can be fixed fairly easily.


r~

Reply via email to