From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Mm8U0-0006Ti-4v for qemu-devel@nongnu.org; Fri, 11 Sep 2009 11:56:20 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Mm8Tu-0006Gp-Om for qemu-devel@nongnu.org; Fri, 11 Sep 2009 11:56:19 -0400 Received: from [199.232.76.173] (port=54737 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Mm8Ts-0006GL-GK for qemu-devel@nongnu.org; Fri, 11 Sep 2009 11:56:12 -0400 Received: from thoth.sbs.de ([192.35.17.2]:24423) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Mm8Tr-0005gO-Sv for qemu-devel@nongnu.org; Fri, 11 Sep 2009 11:56:12 -0400 Message-ID: <4AAA7318.7040106@siemens.com> Date: Fri, 11 Sep 2009 17:56:08 +0200 From: Jan Kiszka MIME-Version: 1.0 References: <1252680092-5208-1-git-send-email-glommer@redhat.com> In-Reply-To: <1252680092-5208-1-git-send-email-glommer@redhat.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: [PATCH] temporary fix for on_vcpu List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Glauber Costa Cc: aliguori@us.ibm.com, qemu-devel@nongnu.org Glauber Costa wrote: > Recent changes made on_vcpu hit the abort() path, even with the IO thread > disabled. This is because cpu_single_env is no longer set when we call this > function. Although the correct fix is a little bit more complicated that that, > the recent thread in which I proposed qemu_queue_work (which fixes that, btw), > is likely to go on a quite different direction. > > So for the benefit of those using guest debugging, I'm proposing this simple > fix in the interim. > > Signed-off-by: Glauber Costa > --- > kvm-all.c | 4 ++++ > 1 files changed, 4 insertions(+), 0 deletions(-) > > diff --git a/kvm-all.c b/kvm-all.c > index df4e849..2c24440 100644 > --- a/kvm-all.c > +++ b/kvm-all.c > @@ -902,11 +902,15 @@ void kvm_setup_guest_memory(void *start, size_t size) > #ifdef KVM_CAP_SET_GUEST_DEBUG > static void on_vcpu(CPUState *env, void (*func)(void *data), void *data) > { > +#ifdef CONFIG_IOTHREAD > if (env == cpu_single_env) { > func(data); > return; > } > abort(); > +#else > + func(data); spaces++ :) But the workaround works. > +#endif > } > > struct kvm_sw_breakpoint *kvm_find_sw_breakpoint(CPUState *env, Unless there is hope to fix kvm in iothread mode soon, we should issue a warning or even disable kvm support in that setup. That is particularly important for 0.11-stable. Jan -- Siemens AG, Corporate Technology, CT SE 2 Corporate Competence Center Embedded Linux