qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH-for-8.0 v2 0/3] softmmu: Restore use of CPU watchpoint for non-TCG accelerators
@ 2023-03-28 17:31 Philippe Mathieu-Daudé
  2023-03-28 17:31 ` [PATCH-for-8.0 v2 1/3] softmmu: Restrict cpu_check_watchpoint / address_matches to TCG accel Philippe Mathieu-Daudé
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-03-28 17:31 UTC (permalink / raw)
  To: qemu-devel
  Cc: Halil Pasic, David Gibson, Daniel Henrique Barboza, qemu-ppc,
	Yanan Wang, David Hildenbrand, Christian Borntraeger,
	Eduardo Habkost, Paolo Bonzini, Marcel Apfelbaum, Greg Kurz, kvm,
	Ilya Leoshkevich, Peter Maydell, Fabiano Rosas, Alex Bennée,
	Thomas Huth, Richard Henderson, qemu-s390x, qemu-arm,
	Philippe Mathieu-Daudé, Cédric Le Goater

Commit 2609ec2868 ("softmmu: Extract watchpoint API from physmem.c")
restricted CPU watchpoints to TCG accelerator. This is wrong, as
other accelerators such KVM do use watchpoints. Revert (partially)
this commit.

Since v1:
- Include "hw/core/tcg-cpu-ops.h" where cpu_check_watchpoint()
  and cpu_watchpoint_address_matches() are called.

Philippe Mathieu-Daudé (3):
  softmmu: Restrict cpu_check_watchpoint / address_matches to TCG accel
  softmmu/watchpoint: Add missing 'qemu/error-report.h' include
  softmmu: Restore use of CPU watchpoint for all accelerators

 include/hw/core/cpu.h         | 39 +------------------------------
 include/hw/core/tcg-cpu-ops.h | 43 +++++++++++++++++++++++++++++++++++
 softmmu/watchpoint.c          |  5 ++++
 target/arm/tcg/mte_helper.c   |  1 +
 target/arm/tcg/sve_helper.c   |  1 +
 target/s390x/tcg/mem_helper.c |  1 +
 softmmu/meson.build           |  2 +-
 7 files changed, 53 insertions(+), 39 deletions(-)

-- 
2.38.1



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH-for-8.0 v2 1/3] softmmu: Restrict cpu_check_watchpoint / address_matches to TCG accel
  2023-03-28 17:31 [PATCH-for-8.0 v2 0/3] softmmu: Restore use of CPU watchpoint for non-TCG accelerators Philippe Mathieu-Daudé
@ 2023-03-28 17:31 ` Philippe Mathieu-Daudé
  2023-03-29 13:57   ` Fabiano Rosas
  2023-03-28 17:31 ` [PATCH-for-8.0 v2 2/3] softmmu/watchpoint: Add missing 'qemu/error-report.h' include Philippe Mathieu-Daudé
  2023-03-28 17:31 ` [PATCH-for-8.0 v2 3/3] softmmu: Restore use of CPU watchpoint for all accelerators Philippe Mathieu-Daudé
  2 siblings, 1 reply; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-03-28 17:31 UTC (permalink / raw)
  To: qemu-devel
  Cc: Halil Pasic, David Gibson, Daniel Henrique Barboza, qemu-ppc,
	Yanan Wang, David Hildenbrand, Christian Borntraeger,
	Eduardo Habkost, Paolo Bonzini, Marcel Apfelbaum, Greg Kurz, kvm,
	Ilya Leoshkevich, Peter Maydell, Fabiano Rosas, Alex Bennée,
	Thomas Huth, Richard Henderson, qemu-s390x, qemu-arm,
	Philippe Mathieu-Daudé, Cédric Le Goater

Both cpu_check_watchpoint() and cpu_watchpoint_address_matches()
are specific to TCG system emulation. Declare them in "tcg-cpu-ops.h"
to be sure accessing them from non-TCG code is a compilation error.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 include/hw/core/cpu.h         | 37 ------------------------------
 include/hw/core/tcg-cpu-ops.h | 43 +++++++++++++++++++++++++++++++++++
 target/arm/tcg/mte_helper.c   |  1 +
 target/arm/tcg/sve_helper.c   |  1 +
 target/s390x/tcg/mem_helper.c |  1 +
 5 files changed, 46 insertions(+), 37 deletions(-)

diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h
index 821e937020..ce312745d5 100644
--- a/include/hw/core/cpu.h
+++ b/include/hw/core/cpu.h
@@ -970,17 +970,6 @@ static inline void cpu_watchpoint_remove_by_ref(CPUState *cpu,
 static inline void cpu_watchpoint_remove_all(CPUState *cpu, int mask)
 {
 }
-
-static inline void cpu_check_watchpoint(CPUState *cpu, vaddr addr, vaddr len,
-                                        MemTxAttrs atr, int fl, uintptr_t ra)
-{
-}
-
-static inline int cpu_watchpoint_address_matches(CPUState *cpu,
-                                                 vaddr addr, vaddr len)
-{
-    return 0;
-}
 #else
 int cpu_watchpoint_insert(CPUState *cpu, vaddr addr, vaddr len,
                           int flags, CPUWatchpoint **watchpoint);
@@ -988,32 +977,6 @@ int cpu_watchpoint_remove(CPUState *cpu, vaddr addr,
                           vaddr len, int flags);
 void cpu_watchpoint_remove_by_ref(CPUState *cpu, CPUWatchpoint *watchpoint);
 void cpu_watchpoint_remove_all(CPUState *cpu, int mask);
-
-/**
- * cpu_check_watchpoint:
- * @cpu: cpu context
- * @addr: guest virtual address
- * @len: access length
- * @attrs: memory access attributes
- * @flags: watchpoint access type
- * @ra: unwind return address
- *
- * Check for a watchpoint hit in [addr, addr+len) of the type
- * specified by @flags.  Exit via exception with a hit.
- */
-void cpu_check_watchpoint(CPUState *cpu, vaddr addr, vaddr len,
-                          MemTxAttrs attrs, int flags, uintptr_t ra);
-
-/**
- * cpu_watchpoint_address_matches:
- * @cpu: cpu context
- * @addr: guest virtual address
- * @len: access length
- *
- * Return the watchpoint flags that apply to [addr, addr+len).
- * If no watchpoint is registered for the range, the result is 0.
- */
-int cpu_watchpoint_address_matches(CPUState *cpu, vaddr addr, vaddr len);
 #endif
 
 /**
diff --git a/include/hw/core/tcg-cpu-ops.h b/include/hw/core/tcg-cpu-ops.h
index 20e3c0ffbb..0ae08df47e 100644
--- a/include/hw/core/tcg-cpu-ops.h
+++ b/include/hw/core/tcg-cpu-ops.h
@@ -175,4 +175,47 @@ struct TCGCPUOps {
 
 };
 
+#if defined(CONFIG_USER_ONLY)
+
+static inline void cpu_check_watchpoint(CPUState *cpu, vaddr addr, vaddr len,
+                                        MemTxAttrs atr, int fl, uintptr_t ra)
+{
+}
+
+static inline int cpu_watchpoint_address_matches(CPUState *cpu,
+                                                 vaddr addr, vaddr len)
+{
+    return 0;
+}
+
+#else
+
+/**
+ * cpu_check_watchpoint:
+ * @cpu: cpu context
+ * @addr: guest virtual address
+ * @len: access length
+ * @attrs: memory access attributes
+ * @flags: watchpoint access type
+ * @ra: unwind return address
+ *
+ * Check for a watchpoint hit in [addr, addr+len) of the type
+ * specified by @flags.  Exit via exception with a hit.
+ */
+void cpu_check_watchpoint(CPUState *cpu, vaddr addr, vaddr len,
+                          MemTxAttrs attrs, int flags, uintptr_t ra);
+
+/**
+ * cpu_watchpoint_address_matches:
+ * @cpu: cpu context
+ * @addr: guest virtual address
+ * @len: access length
+ *
+ * Return the watchpoint flags that apply to [addr, addr+len).
+ * If no watchpoint is registered for the range, the result is 0.
+ */
+int cpu_watchpoint_address_matches(CPUState *cpu, vaddr addr, vaddr len);
+
+#endif
+
 #endif /* TCG_CPU_OPS_H */
diff --git a/target/arm/tcg/mte_helper.c b/target/arm/tcg/mte_helper.c
index fee3c7eb96..a4f3f92bc0 100644
--- a/target/arm/tcg/mte_helper.c
+++ b/target/arm/tcg/mte_helper.c
@@ -25,6 +25,7 @@
 #include "exec/ram_addr.h"
 #include "exec/cpu_ldst.h"
 #include "exec/helper-proto.h"
+#include "hw/core/tcg-cpu-ops.h"
 #include "qapi/error.h"
 #include "qemu/guest-random.h"
 
diff --git a/target/arm/tcg/sve_helper.c b/target/arm/tcg/sve_helper.c
index 9a8951afa4..ccf5e5beca 100644
--- a/target/arm/tcg/sve_helper.c
+++ b/target/arm/tcg/sve_helper.c
@@ -27,6 +27,7 @@
 #include "tcg/tcg.h"
 #include "vec_internal.h"
 #include "sve_ldst_internal.h"
+#include "hw/core/tcg-cpu-ops.h"
 
 
 /* Return a value for NZCV as per the ARM PredTest pseudofunction.
diff --git a/target/s390x/tcg/mem_helper.c b/target/s390x/tcg/mem_helper.c
index b93dbd3dad..8b58b8d88d 100644
--- a/target/s390x/tcg/mem_helper.c
+++ b/target/s390x/tcg/mem_helper.c
@@ -26,6 +26,7 @@
 #include "exec/helper-proto.h"
 #include "exec/exec-all.h"
 #include "exec/cpu_ldst.h"
+#include "hw/core/tcg-cpu-ops.h"
 #include "qemu/int128.h"
 #include "qemu/atomic128.h"
 #include "trace.h"
-- 
2.38.1



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH-for-8.0 v2 2/3] softmmu/watchpoint: Add missing 'qemu/error-report.h' include
  2023-03-28 17:31 [PATCH-for-8.0 v2 0/3] softmmu: Restore use of CPU watchpoint for non-TCG accelerators Philippe Mathieu-Daudé
  2023-03-28 17:31 ` [PATCH-for-8.0 v2 1/3] softmmu: Restrict cpu_check_watchpoint / address_matches to TCG accel Philippe Mathieu-Daudé
@ 2023-03-28 17:31 ` Philippe Mathieu-Daudé
  2023-03-29 13:58   ` Fabiano Rosas
  2023-03-28 17:31 ` [PATCH-for-8.0 v2 3/3] softmmu: Restore use of CPU watchpoint for all accelerators Philippe Mathieu-Daudé
  2 siblings, 1 reply; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-03-28 17:31 UTC (permalink / raw)
  To: qemu-devel
  Cc: Halil Pasic, David Gibson, Daniel Henrique Barboza, qemu-ppc,
	Yanan Wang, David Hildenbrand, Christian Borntraeger,
	Eduardo Habkost, Paolo Bonzini, Marcel Apfelbaum, Greg Kurz, kvm,
	Ilya Leoshkevich, Peter Maydell, Fabiano Rosas, Alex Bennée,
	Thomas Huth, Richard Henderson, qemu-s390x, qemu-arm,
	Philippe Mathieu-Daudé, Cédric Le Goater

cpu_watchpoint_insert() calls error_report() which is declared
in "qemu/error-report.h". When moving this code in commit 2609ec2868
("softmmu: Extract watchpoint API from physmem.c") we neglected to
include this header. This works so far because it is indirectly
included by TCG headers -> "qemu/plugin.h" -> "qemu/error-report.h".

Currently cpu_watchpoint_insert() is only built with the TCG
accelerator. When building it with other ones (or without TCG)
we get:

  softmmu/watchpoint.c:38:9: error: implicit declaration of function 'error_report' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
        error_report("tried to set invalid watchpoint at %"
        ^

Include "qemu/error-report.h" in order to fix this for non-TCG
builds.

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

diff --git a/softmmu/watchpoint.c b/softmmu/watchpoint.c
index ad58736787..9d6ae68499 100644
--- a/softmmu/watchpoint.c
+++ b/softmmu/watchpoint.c
@@ -19,6 +19,7 @@
 
 #include "qemu/osdep.h"
 #include "qemu/main-loop.h"
+#include "qemu/error-report.h"
 #include "exec/exec-all.h"
 #include "exec/translate-all.h"
 #include "sysemu/tcg.h"
-- 
2.38.1



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH-for-8.0 v2 3/3] softmmu: Restore use of CPU watchpoint for all accelerators
  2023-03-28 17:31 [PATCH-for-8.0 v2 0/3] softmmu: Restore use of CPU watchpoint for non-TCG accelerators Philippe Mathieu-Daudé
  2023-03-28 17:31 ` [PATCH-for-8.0 v2 1/3] softmmu: Restrict cpu_check_watchpoint / address_matches to TCG accel Philippe Mathieu-Daudé
  2023-03-28 17:31 ` [PATCH-for-8.0 v2 2/3] softmmu/watchpoint: Add missing 'qemu/error-report.h' include Philippe Mathieu-Daudé
@ 2023-03-28 17:31 ` Philippe Mathieu-Daudé
  2023-03-29 14:02   ` Fabiano Rosas
  2 siblings, 1 reply; 7+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-03-28 17:31 UTC (permalink / raw)
  To: qemu-devel
  Cc: Halil Pasic, David Gibson, Daniel Henrique Barboza, qemu-ppc,
	Yanan Wang, David Hildenbrand, Christian Borntraeger,
	Eduardo Habkost, Paolo Bonzini, Marcel Apfelbaum, Greg Kurz, kvm,
	Ilya Leoshkevich, Peter Maydell, Fabiano Rosas, Alex Bennée,
	Thomas Huth, Richard Henderson, qemu-s390x, qemu-arm,
	Philippe Mathieu-Daudé, Cédric Le Goater

CPU watchpoints can be use by non-TCG accelerators.

KVM uses them:

  $ git grep CPUWatchpoint|fgrep kvm
  target/arm/kvm64.c:1558:        CPUWatchpoint *wp = find_hw_watchpoint(cs, debug_exit->far);
  target/i386/kvm/kvm.c:5216:static CPUWatchpoint hw_watchpoint;
  target/ppc/kvm.c:443:static CPUWatchpoint hw_watchpoint;
  target/s390x/kvm/kvm.c:139:static CPUWatchpoint hw_watchpoint;

See for example commit e4482ab7e3 ("target-arm: kvm - add support
for HW assisted debug"):

     This adds basic support for HW assisted debug. The ioctl interface
     to KVM allows us to pass an implementation defined number of break
     and watch point registers. [...]

This partially reverts commit 2609ec2868e6c286e755a73b4504714a0296a.

Fixes: 2609ec2868 ("softmmu: Extract watchpoint API from physmem.c")
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 include/hw/core/cpu.h | 2 +-
 softmmu/watchpoint.c  | 4 ++++
 softmmu/meson.build   | 2 +-
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h
index ce312745d5..397fd3ac68 100644
--- a/include/hw/core/cpu.h
+++ b/include/hw/core/cpu.h
@@ -949,7 +949,7 @@ static inline bool cpu_breakpoint_test(CPUState *cpu, vaddr pc, int mask)
     return false;
 }
 
-#if !defined(CONFIG_TCG) || defined(CONFIG_USER_ONLY)
+#if defined(CONFIG_USER_ONLY)
 static inline int cpu_watchpoint_insert(CPUState *cpu, vaddr addr, vaddr len,
                                         int flags, CPUWatchpoint **watchpoint)
 {
diff --git a/softmmu/watchpoint.c b/softmmu/watchpoint.c
index 9d6ae68499..5350163385 100644
--- a/softmmu/watchpoint.c
+++ b/softmmu/watchpoint.c
@@ -104,6 +104,8 @@ void cpu_watchpoint_remove_all(CPUState *cpu, int mask)
     }
 }
 
+#ifdef CONFIG_TCG
+
 /*
  * Return true if this watchpoint address matches the specified
  * access (ie the address range covered by the watchpoint overlaps
@@ -220,3 +222,5 @@ void cpu_check_watchpoint(CPUState *cpu, vaddr addr, vaddr len,
         }
     }
 }
+
+#endif /* CONFIG_TCG */
diff --git a/softmmu/meson.build b/softmmu/meson.build
index 0180577517..1a7c7ac089 100644
--- a/softmmu/meson.build
+++ b/softmmu/meson.build
@@ -5,11 +5,11 @@ specific_ss.add(when: 'CONFIG_SOFTMMU', if_true: [files(
   'physmem.c',
   'qtest.c',
   'dirtylimit.c',
+  'watchpoint.c',
 )])
 
 specific_ss.add(when: ['CONFIG_SOFTMMU', 'CONFIG_TCG'], if_true: [files(
   'icount.c',
-  'watchpoint.c',
 )])
 
 softmmu_ss.add(files(
-- 
2.38.1



^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH-for-8.0 v2 1/3] softmmu: Restrict cpu_check_watchpoint / address_matches to TCG accel
  2023-03-28 17:31 ` [PATCH-for-8.0 v2 1/3] softmmu: Restrict cpu_check_watchpoint / address_matches to TCG accel Philippe Mathieu-Daudé
@ 2023-03-29 13:57   ` Fabiano Rosas
  0 siblings, 0 replies; 7+ messages in thread
From: Fabiano Rosas @ 2023-03-29 13:57 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Halil Pasic, David Gibson, Daniel Henrique Barboza, qemu-ppc,
	Yanan Wang, David Hildenbrand, Christian Borntraeger,
	Eduardo Habkost, Paolo Bonzini, Marcel Apfelbaum, Greg Kurz, kvm,
	Ilya Leoshkevich, Peter Maydell, Alex Bennée, Thomas Huth,
	Richard Henderson, qemu-s390x, qemu-arm,
	Philippe Mathieu-Daudé, Cédric Le Goater

Philippe Mathieu-Daudé <philmd@linaro.org> writes:

> Both cpu_check_watchpoint() and cpu_watchpoint_address_matches()
> are specific to TCG system emulation. Declare them in "tcg-cpu-ops.h"
> to be sure accessing them from non-TCG code is a compilation error.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

Reviewed-by: Fabiano Rosas <farosas@suse.de>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH-for-8.0 v2 2/3] softmmu/watchpoint: Add missing 'qemu/error-report.h' include
  2023-03-28 17:31 ` [PATCH-for-8.0 v2 2/3] softmmu/watchpoint: Add missing 'qemu/error-report.h' include Philippe Mathieu-Daudé
@ 2023-03-29 13:58   ` Fabiano Rosas
  0 siblings, 0 replies; 7+ messages in thread
From: Fabiano Rosas @ 2023-03-29 13:58 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Halil Pasic, David Gibson, Daniel Henrique Barboza, qemu-ppc,
	Yanan Wang, David Hildenbrand, Christian Borntraeger,
	Eduardo Habkost, Paolo Bonzini, Marcel Apfelbaum, Greg Kurz, kvm,
	Ilya Leoshkevich, Peter Maydell, Alex Bennée, Thomas Huth,
	Richard Henderson, qemu-s390x, qemu-arm,
	Philippe Mathieu-Daudé, Cédric Le Goater

Philippe Mathieu-Daudé <philmd@linaro.org> writes:

> cpu_watchpoint_insert() calls error_report() which is declared
> in "qemu/error-report.h". When moving this code in commit 2609ec2868
> ("softmmu: Extract watchpoint API from physmem.c") we neglected to
> include this header. This works so far because it is indirectly
> included by TCG headers -> "qemu/plugin.h" -> "qemu/error-report.h".
>
> Currently cpu_watchpoint_insert() is only built with the TCG
> accelerator. When building it with other ones (or without TCG)
> we get:
>
>   softmmu/watchpoint.c:38:9: error: implicit declaration of function 'error_report' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
>         error_report("tried to set invalid watchpoint at %"
>         ^
>
> Include "qemu/error-report.h" in order to fix this for non-TCG
> builds.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

Reviewed-by: Fabiano Rosas <farosas@suse.de>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH-for-8.0 v2 3/3] softmmu: Restore use of CPU watchpoint for all accelerators
  2023-03-28 17:31 ` [PATCH-for-8.0 v2 3/3] softmmu: Restore use of CPU watchpoint for all accelerators Philippe Mathieu-Daudé
@ 2023-03-29 14:02   ` Fabiano Rosas
  0 siblings, 0 replies; 7+ messages in thread
From: Fabiano Rosas @ 2023-03-29 14:02 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: Halil Pasic, David Gibson, Daniel Henrique Barboza, qemu-ppc,
	Yanan Wang, David Hildenbrand, Christian Borntraeger,
	Eduardo Habkost, Paolo Bonzini, Marcel Apfelbaum, Greg Kurz, kvm,
	Ilya Leoshkevich, Peter Maydell, Alex Bennée, Thomas Huth,
	Richard Henderson, qemu-s390x, qemu-arm,
	Philippe Mathieu-Daudé, Cédric Le Goater

Philippe Mathieu-Daudé <philmd@linaro.org> writes:

> CPU watchpoints can be use by non-TCG accelerators.
>
> KVM uses them:
>
>   $ git grep CPUWatchpoint|fgrep kvm
>   target/arm/kvm64.c:1558:        CPUWatchpoint *wp = find_hw_watchpoint(cs, debug_exit->far);
>   target/i386/kvm/kvm.c:5216:static CPUWatchpoint hw_watchpoint;
>   target/ppc/kvm.c:443:static CPUWatchpoint hw_watchpoint;
>   target/s390x/kvm/kvm.c:139:static CPUWatchpoint hw_watchpoint;
>
> See for example commit e4482ab7e3 ("target-arm: kvm - add support
> for HW assisted debug"):
>
>      This adds basic support for HW assisted debug. The ioctl interface
>      to KVM allows us to pass an implementation defined number of break
>      and watch point registers. [...]
>
> This partially reverts commit 2609ec2868e6c286e755a73b4504714a0296a.
>
> Fixes: 2609ec2868 ("softmmu: Extract watchpoint API from physmem.c")
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

Reviewed-by: Fabiano Rosas <farosas@suse.de>


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-03-29 14:02 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-28 17:31 [PATCH-for-8.0 v2 0/3] softmmu: Restore use of CPU watchpoint for non-TCG accelerators Philippe Mathieu-Daudé
2023-03-28 17:31 ` [PATCH-for-8.0 v2 1/3] softmmu: Restrict cpu_check_watchpoint / address_matches to TCG accel Philippe Mathieu-Daudé
2023-03-29 13:57   ` Fabiano Rosas
2023-03-28 17:31 ` [PATCH-for-8.0 v2 2/3] softmmu/watchpoint: Add missing 'qemu/error-report.h' include Philippe Mathieu-Daudé
2023-03-29 13:58   ` Fabiano Rosas
2023-03-28 17:31 ` [PATCH-for-8.0 v2 3/3] softmmu: Restore use of CPU watchpoint for all accelerators Philippe Mathieu-Daudé
2023-03-29 14:02   ` Fabiano Rosas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).