qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH-for-9.0 0/2] target/arm/kvm: Use generic kvm_supports_guest_debug()
@ 2023-12-01 14:31 Philippe Mathieu-Daudé
  2023-12-01 14:32 ` [PATCH-for-9.0 1/2] accel/kvm: Expose kvm_supports_guest_debug() prototype Philippe Mathieu-Daudé
  2023-12-01 14:32 ` [PATCH-for-9.0 2/2] target/arm/kvm: Use generic kvm_supports_guest_debug() Philippe Mathieu-Daudé
  0 siblings, 2 replies; 5+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-12-01 14:31 UTC (permalink / raw)
  To: qemu-devel
  Cc: qemu-arm, Peter Maydell, Paolo Bonzini, kvm,
	Philippe Mathieu-Daudé

Expose kvm_supports_guest_debug() to all targets
and simplify ARM using it.

Philippe Mathieu-Daudé (2):
  accel/kvm: Expose kvm_supports_guest_debug() prototype
  target/arm/kvm: Use generic kvm_supports_guest_debug()

 accel/kvm/kvm-cpus.h | 1 -
 include/sysemu/kvm.h | 1 +
 target/arm/kvm64.c   | 9 ++-------
 3 files changed, 3 insertions(+), 8 deletions(-)

-- 
2.41.0



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

* [PATCH-for-9.0 1/2] accel/kvm: Expose kvm_supports_guest_debug() prototype
  2023-12-01 14:31 [PATCH-for-9.0 0/2] target/arm/kvm: Use generic kvm_supports_guest_debug() Philippe Mathieu-Daudé
@ 2023-12-01 14:32 ` Philippe Mathieu-Daudé
  2023-12-04  3:55   ` Gavin Shan
  2023-12-01 14:32 ` [PATCH-for-9.0 2/2] target/arm/kvm: Use generic kvm_supports_guest_debug() Philippe Mathieu-Daudé
  1 sibling, 1 reply; 5+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-12-01 14:32 UTC (permalink / raw)
  To: qemu-devel
  Cc: qemu-arm, Peter Maydell, Paolo Bonzini, kvm,
	Philippe Mathieu-Daudé

kvm_supports_guest_debug() should be accessible by KVM
implementations.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 accel/kvm/kvm-cpus.h | 1 -
 include/sysemu/kvm.h | 1 +
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/accel/kvm/kvm-cpus.h b/accel/kvm/kvm-cpus.h
index ca40add32c..a232348c91 100644
--- a/accel/kvm/kvm-cpus.h
+++ b/accel/kvm/kvm-cpus.h
@@ -18,7 +18,6 @@ void kvm_destroy_vcpu(CPUState *cpu);
 void kvm_cpu_synchronize_post_reset(CPUState *cpu);
 void kvm_cpu_synchronize_post_init(CPUState *cpu);
 void kvm_cpu_synchronize_pre_loadvm(CPUState *cpu);
-bool kvm_supports_guest_debug(void);
 int kvm_insert_breakpoint(CPUState *cpu, int type, vaddr addr, vaddr len);
 int kvm_remove_breakpoint(CPUState *cpu, int type, vaddr addr, vaddr len);
 void kvm_remove_all_breakpoints(CPUState *cpu);
diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h
index d614878164..6ed18f2d6a 100644
--- a/include/sysemu/kvm.h
+++ b/include/sysemu/kvm.h
@@ -206,6 +206,7 @@ int kvm_has_gsi_routing(void);
  */
 bool kvm_arm_supports_user_irq(void);
 
+bool kvm_supports_guest_debug(void);
 
 int kvm_on_sigbus_vcpu(CPUState *cpu, int code, void *addr);
 int kvm_on_sigbus(int code, void *addr);
-- 
2.41.0



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

* [PATCH-for-9.0 2/2] target/arm/kvm: Use generic kvm_supports_guest_debug()
  2023-12-01 14:31 [PATCH-for-9.0 0/2] target/arm/kvm: Use generic kvm_supports_guest_debug() Philippe Mathieu-Daudé
  2023-12-01 14:32 ` [PATCH-for-9.0 1/2] accel/kvm: Expose kvm_supports_guest_debug() prototype Philippe Mathieu-Daudé
@ 2023-12-01 14:32 ` Philippe Mathieu-Daudé
  2023-12-04  3:55   ` Gavin Shan
  1 sibling, 1 reply; 5+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-12-01 14:32 UTC (permalink / raw)
  To: qemu-devel
  Cc: qemu-arm, Peter Maydell, Paolo Bonzini, kvm,
	Philippe Mathieu-Daudé

Do not open-code the generic kvm_supports_guest_debug().

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 target/arm/kvm64.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/target/arm/kvm64.c b/target/arm/kvm64.c
index 3c175c93a7..031d20ad92 100644
--- a/target/arm/kvm64.c
+++ b/target/arm/kvm64.c
@@ -32,13 +32,8 @@
 #include "hw/acpi/acpi.h"
 #include "hw/acpi/ghes.h"
 
-static bool have_guest_debug;
-
 void kvm_arm_init_debug(KVMState *s)
 {
-    have_guest_debug = kvm_check_extension(s,
-                                           KVM_CAP_SET_GUEST_DEBUG);
-
     max_hw_wps = kvm_check_extension(s, KVM_CAP_GUEST_DEBUG_HW_WPS);
     hw_watchpoints = g_array_sized_new(true, true,
                                        sizeof(HWWatchpoint), max_hw_wps);
@@ -1141,7 +1136,7 @@ static const uint32_t brk_insn = 0xd4200000;
 
 int kvm_arch_insert_sw_breakpoint(CPUState *cs, struct kvm_sw_breakpoint *bp)
 {
-    if (have_guest_debug) {
+    if (kvm_supports_guest_debug()) {
         if (cpu_memory_rw_debug(cs, bp->pc, (uint8_t *)&bp->saved_insn, 4, 0) ||
             cpu_memory_rw_debug(cs, bp->pc, (uint8_t *)&brk_insn, 4, 1)) {
             return -EINVAL;
@@ -1157,7 +1152,7 @@ int kvm_arch_remove_sw_breakpoint(CPUState *cs, struct kvm_sw_breakpoint *bp)
 {
     static uint32_t brk;
 
-    if (have_guest_debug) {
+    if (kvm_supports_guest_debug()) {
         if (cpu_memory_rw_debug(cs, bp->pc, (uint8_t *)&brk, 4, 0) ||
             brk != brk_insn ||
             cpu_memory_rw_debug(cs, bp->pc, (uint8_t *)&bp->saved_insn, 4, 1)) {
-- 
2.41.0



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

* Re: [PATCH-for-9.0 1/2] accel/kvm: Expose kvm_supports_guest_debug() prototype
  2023-12-01 14:32 ` [PATCH-for-9.0 1/2] accel/kvm: Expose kvm_supports_guest_debug() prototype Philippe Mathieu-Daudé
@ 2023-12-04  3:55   ` Gavin Shan
  0 siblings, 0 replies; 5+ messages in thread
From: Gavin Shan @ 2023-12-04  3:55 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: qemu-arm, Peter Maydell, Paolo Bonzini, kvm

On 12/2/23 00:32, Philippe Mathieu-Daudé wrote:
> kvm_supports_guest_debug() should be accessible by KVM
> implementations.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   accel/kvm/kvm-cpus.h | 1 -
>   include/sysemu/kvm.h | 1 +
>   2 files changed, 1 insertion(+), 1 deletion(-)
> 

Reviewed-by: Gavin Shan <gshan@redhat.com>



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

* Re: [PATCH-for-9.0 2/2] target/arm/kvm: Use generic kvm_supports_guest_debug()
  2023-12-01 14:32 ` [PATCH-for-9.0 2/2] target/arm/kvm: Use generic kvm_supports_guest_debug() Philippe Mathieu-Daudé
@ 2023-12-04  3:55   ` Gavin Shan
  0 siblings, 0 replies; 5+ messages in thread
From: Gavin Shan @ 2023-12-04  3:55 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé, qemu-devel
  Cc: qemu-arm, Peter Maydell, Paolo Bonzini, kvm

On 12/2/23 00:32, Philippe Mathieu-Daudé wrote:
> Do not open-code the generic kvm_supports_guest_debug().
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   target/arm/kvm64.c | 9 ++-------
>   1 file changed, 2 insertions(+), 7 deletions(-)
> 

Reviewed-by: Gavin Shan <gshan@redhat.com>



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

end of thread, other threads:[~2023-12-04  3:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-01 14:31 [PATCH-for-9.0 0/2] target/arm/kvm: Use generic kvm_supports_guest_debug() Philippe Mathieu-Daudé
2023-12-01 14:32 ` [PATCH-for-9.0 1/2] accel/kvm: Expose kvm_supports_guest_debug() prototype Philippe Mathieu-Daudé
2023-12-04  3:55   ` Gavin Shan
2023-12-01 14:32 ` [PATCH-for-9.0 2/2] target/arm/kvm: Use generic kvm_supports_guest_debug() Philippe Mathieu-Daudé
2023-12-04  3:55   ` Gavin Shan

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).