|
| From: | Richard Henderson |
| Subject: | Re: [PATCH 03/13] accel: Elide kvm_update_guest_debug by checking kvm_supports_guest_debug |
| Date: | Wed, 9 Feb 2022 09:16:02 +1100 |
| User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 |
On 2/9/22 02:22, Philippe Mathieu-Daudé wrote:
-int kvm_update_guest_debug(CPUState *cpu, unsigned long reinject_trap)
-{
- return -ENOSYS;
-}
-
int kvm_insert_breakpoint(CPUState *cpu, target_ulong addr,
target_ulong len, int type)
{
diff --git a/cpu.c b/cpu.c
index 97d42b6b2a..834e2b4cdb 100644
--- a/cpu.c
+++ b/cpu.c
@@ -350,7 +350,7 @@ void cpu_single_step(CPUState *cpu, int enabled)
{
if (cpu->singlestep_enabled != enabled) {
cpu->singlestep_enabled = enabled;
- if (kvm_enabled()) {
+ if (kvm_enabled() && kvm_supports_guest_debug()) {
kvm_update_guest_debug(cpu, 0);
Why is this second hunk required?I would think the stub would be removable on its own, since it is protected by kvm_enabled, which will expand to false exactly like kvm_supports_guest_debug expands to false.
As an aside, I wonder about the non-checking of the update return value... r~
| [Prev in Thread] | Current Thread | [Next in Thread] |