Message ID | 1250536345-31917-1-git-send-email-andre.przywara@amd.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
> 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). I've tried the patch and it did not help, however I could only have it on the receiver of the migration. Would it need to be installed on the one sending the data ? The guest kernel and userland are 32bits, the host's are 64 bits. I do not see any message about a faulting init. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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); }
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.