From patchwork Mon Aug 17 19:12:25 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andre Przywara X-Patchwork-Id: 42120 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n7HJHUXq015935 for ; Mon, 17 Aug 2009 19:17:31 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753579AbZHQTQy (ORCPT ); Mon, 17 Aug 2009 15:16:54 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753545AbZHQTQx (ORCPT ); Mon, 17 Aug 2009 15:16:53 -0400 Received: from va3ehsobe002.messaging.microsoft.com ([216.32.180.12]:56580 "EHLO VA3EHSOBE002.bigfish.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1753509AbZHQTQv (ORCPT ); Mon, 17 Aug 2009 15:16:51 -0400 Received: from mail12-va3-R.bigfish.com (10.7.14.238) by VA3EHSOBE002.bigfish.com (10.7.40.22) with Microsoft SMTP Server id 8.1.340.0; Mon, 17 Aug 2009 19:16:51 +0000 Received: from mail12-va3 (localhost.localdomain [127.0.0.1]) by mail12-va3-R.bigfish.com (Postfix) with ESMTP id 274D89F82F4; Mon, 17 Aug 2009 19:16:52 +0000 (UTC) X-SpamScore: -11 X-BigFish: VPS-11(z40baizaf6Wzz1202hzzz32i203h43j62h) X-Spam-TCS-SCL: 1:0 X-FB-SS: 5, Received: by mail12-va3 (MessageSwitch) id 1250536610660261_17320; Mon, 17 Aug 2009 19:16:50 +0000 (UCT) Received: from ausb3extmailp01.amd.com (unknown [163.181.251.8]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail12-va3.bigfish.com (Postfix) with ESMTP id 843B5290056; Mon, 17 Aug 2009 19:16:50 +0000 (UTC) Received: from ausb3twp02.amd.com ([163.181.250.38]) by ausb3extmailp01.amd.com (Switch-3.2.7/Switch-3.2.7) with ESMTP id n7HJGadX017458; Mon, 17 Aug 2009 14:16:45 -0500 X-WSS-ID: 0KOJC7Q-02-7G3-02 X-M-MSG: Received: from sausexbh1.amd.com (sausexbh1.amd.com [163.181.22.101]) by ausb3twp02.amd.com (Tumbleweed MailGate 3.7.0) with ESMTP id 2DC74C8571; Mon, 17 Aug 2009 14:16:37 -0500 (CDT) Received: from sausexmb1.amd.com ([163.181.3.156]) by sausexbh1.amd.com with Microsoft SMTPSVC(6.0.3790.3959); Mon, 17 Aug 2009 14:16:36 -0500 Received: from SDRSEXMB1.amd.com ([172.20.3.116]) by sausexmb1.amd.com with Microsoft SMTPSVC(6.0.3790.3959); Mon, 17 Aug 2009 14:16:34 -0500 Received: from localhost.localdomain ([165.204.15.42]) by SDRSEXMB1.amd.com with Microsoft SMTPSVC(6.0.3790.3959); Mon, 17 Aug 2009 21:16:32 +0200 From: Andre Przywara To: nuitari-kvm@nuitari.net CC: thomas.besser@kit.edu, avi@redhat.com, kvm@vger.kernel.org Subject: Re: Live migration stops working... Date: Mon, 17 Aug 2009 21:12:25 +0200 Message-ID: <1250536345-31917-1-git-send-email-andre.przywara@amd.com> X-Mailer: git-send-email 1.6.1.3 In-Reply-To: References: X-OriginalArrivalTime: 17 Aug 2009 19:16:32.0384 (UTC) FILETIME=[3AEBC000:01CA1F6F] MIME-Version: 1.0 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org Hi, > This is the sysexit instruction. I recently stumbled upon a similar issue. Can you try the following patch? This is not a very nice one, but it cured the problem I had. Do you see anything in the guest? I had some messages on the console about a faulting init (at boot time, when I was booting a 32bit userland on a 64bit kernel). Regards, Andre. diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c index fc14bdf..bddcde5 100644 --- a/arch/x86/kvm/svm.c +++ b/arch/x86/kvm/svm.c @@ -2140,6 +2140,17 @@ static int svm_set_msr(struct kvm_vcpu *vcpu, unsigned ecx, u64 data) case MSR_VM_IGNNE: pr_unimpl(vcpu, "unimplemented wrmsr: 0x%x data 0x%llx\n", ecx, data); break; + case MSR_EFER: + { + int enable = !(data & (1<<_EFER_LME)); + u32 *msrpm = svm->msrpm; + printk(KERN_INFO "%sabling SYSENTER MSR intercepts (%llx)\n", + enable ? "dis" : "en", data); + set_msr_interception(msrpm, MSR_IA32_SYSENTER_CS, enable, enable); + set_msr_interception(msrpm, MSR_IA32_SYSENTER_ESP, enable, enable); + set_msr_interception(msrpm, MSR_IA32_SYSENTER_EIP, enable, enable); + } + return kvm_set_msr_common(vcpu, ecx, data); default: return kvm_set_msr_common(vcpu, ecx, data); }