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.
--
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany
Tel: +49 351 448 3567 12
----to satisfy European Law for business letters:
Advanced Micro Devices GmbH
Karl-Hammerschmidt-Str. 34, 85609 Dornach b. Muenchen
Geschaeftsfuehrer: Thomas M. McCoy; Giuliano Meroni
Sitz: Dornach, Gemeinde Aschheim, Landkreis Muenchen
Registergericht Muenchen, HRB Nr. 43632
---
arch/x86/kvm/svm.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
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);
}
--
1.6.1.3
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html