From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NDi5t-0004xj-CD for qemu-devel@nongnu.org; Thu, 26 Nov 2009 12:25:25 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NDi5o-0004ok-B7 for qemu-devel@nongnu.org; Thu, 26 Nov 2009 12:25:24 -0500 Received: from [199.232.76.173] (port=51789 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NDi5n-0004oL-RV for qemu-devel@nongnu.org; Thu, 26 Nov 2009 12:25:19 -0500 Received: from mx1.redhat.com ([209.132.183.28]:16965) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NDi5n-0004qD-B7 for qemu-devel@nongnu.org; Thu, 26 Nov 2009 12:25:19 -0500 From: Glauber Costa Date: Thu, 26 Nov 2009 15:24:58 -0200 Message-Id: <1259256300-23937-6-git-send-email-glommer@redhat.com> In-Reply-To: <1259256300-23937-5-git-send-email-glommer@redhat.com> References: <1259256300-23937-1-git-send-email-glommer@redhat.com> <1259256300-23937-2-git-send-email-glommer@redhat.com> <1259256300-23937-3-git-send-email-glommer@redhat.com> <1259256300-23937-4-git-send-email-glommer@redhat.com> <1259256300-23937-5-git-send-email-glommer@redhat.com> Subject: [Qemu-devel] [PATCH 5/7] tell kernel about all registers instead of just mp_state List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: aliguori@us.ibm.com This fix a bug with -smp in kvm. Since we have updated apic_base, we also have to tell kernel about it. So instead of just updating mp_state, update every regs. Signed-off-by: Glauber Costa --- hw/apic-kvm.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/hw/apic-kvm.c b/hw/apic-kvm.c index e5a0bfc..dc61386 100644 --- a/hw/apic-kvm.c +++ b/hw/apic-kvm.c @@ -126,7 +126,10 @@ static void kvm_apic_reset(void *opaque) s->cpu_env->mp_state = bsp ? KVM_MP_STATE_RUNNABLE : KVM_MP_STATE_UNINITIALIZED; - kvm_put_mp_state(s->cpu_env); + /* We have to tell the kernel about mp_state, but also save sregs, since + * apic base was just updated + */ + kvm_arch_put_registers(s->cpu_env); if (bsp) { /* -- 1.6.5.2