From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=41696 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OErl5-0000A6-Ug for qemu-devel@nongnu.org; Wed, 19 May 2010 18:29:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OErl4-0005zK-5X for qemu-devel@nongnu.org; Wed, 19 May 2010 18:28:59 -0400 Received: from fmmailgate03.web.de ([217.72.192.234]:46967) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OErl3-0005z9-Tm for qemu-devel@nongnu.org; Wed, 19 May 2010 18:28:58 -0400 Message-ID: <4BF4661D.5050108@web.de> Date: Thu, 20 May 2010 00:28:45 +0200 From: Jan Kiszka MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Sender: jan.kiszka@web.de Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH] kvm: Switch kvm_update_guest_debug to run_on_cpu List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity , Marcelo Tosatti Cc: qemu-devel , kvm From: Jan Kiszka Guest debugging under KVM is currently broken once io-threads are enabled. Easily fixable by switching the fake on_vcpu to the real run_on_cpu implementation. Signed-off-by: Jan Kiszka --- kvm-all.c | 12 +----------- 1 files changed, 1 insertions(+), 11 deletions(-) diff --git a/kvm-all.c b/kvm-all.c index c238f54..5684e51 100644 --- a/kvm-all.c +++ b/kvm-all.c @@ -1033,16 +1033,6 @@ void kvm_setup_guest_memory(void *start, size_t si= ze) } =20 #ifdef KVM_CAP_SET_GUEST_DEBUG -static void on_vcpu(CPUState *env, void (*func)(void *data), void *data) -{ -#ifdef CONFIG_IOTHREAD - if (env !=3D cpu_single_env) { - abort(); - } -#endif - func(data); -} - struct kvm_sw_breakpoint *kvm_find_sw_breakpoint(CPUState *env, target_ulong pc) { @@ -1086,7 +1076,7 @@ int kvm_update_guest_debug(CPUState *env, unsigned = long reinject_trap) kvm_arch_update_guest_debug(env, &data.dbg); data.env =3D env; =20 - on_vcpu(env, kvm_invoke_set_guest_debug, &data); + run_on_cpu(env, kvm_invoke_set_guest_debug, &data); return data.err; } =20 --=20 1.6.0.2