Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1685566
| From | Mikulas Patocka <mpatocka@redhat.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH] x86/kernel/cpu/amd.c: don't apply the lahf_lm workaround in a hypervisor |
| Date | 2017-07-12 09:30 +0200 |
| Message-ID | <u2kfT-5aW-15@gated-at.bofh.it> (permalink) |
| Organization | linux.* mail to news gateway |
When I start a virtual machine, kvm complains about accesses to an unknown
MSR ("vcpu0 unhandled rdmsr: 0xc001100d"). This is caused by the code in
init_amd_k8 that tries to work around a BIOS bug that incorrectly sets
lahf_lm.
This patch disables this workaround when running in a hypervisor.
Note that the processors for which this erratum applies do not support
virtualization at all, so if we are running in a hypervisor, we can be
sure that the workaronud doesn't apply.
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
---
arch/x86/kernel/cpu/amd.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
Index: linux-2.6/arch/x86/kernel/cpu/amd.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/cpu/amd.c
+++ linux-2.6/arch/x86/kernel/cpu/amd.c
@@ -627,8 +627,12 @@ static void init_amd_k8(struct cpuinfo_x
* Some BIOSes incorrectly force this feature, but only K8 revision D
* (model = 0x14) and later actually support it.
* (AMD Erratum #110, docId: 25759).
+ *
+ * Don't apply this workaround in a virtual machine because kvm
+ * complains about reads from an unknown MSR.
*/
- if (c->x86_model < 0x14 && cpu_has(c, X86_FEATURE_LAHF_LM)) {
+ if (c->x86_model < 0x14 && cpu_has(c, X86_FEATURE_LAHF_LM) &&
+ !boot_cpu_has(X86_FEATURE_HYPERVISOR)) {
clear_cpu_cap(c, X86_FEATURE_LAHF_LM);
if (!rdmsrl_amd_safe(0xc001100d, &value)) {
value &= ~BIT_64(32);
Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread
[PATCH] x86/kernel/cpu/amd.c: don't apply the lahf_lm workaround in a hypervisor Mikulas Patocka <mpatocka@redhat.com> - 2017-07-12 09:30 +0200
Re: [PATCH] x86/kernel/cpu/amd.c: don't apply the lahf_lm workaround in a hypervisor Borislav Petkov <bp@alien8.de> - 2017-07-12 15:50 +0200
Re: [PATCH] x86/kernel/cpu/amd.c: don't apply the lahf_lm workaround in a hypervisor Mikulas Patocka <mpatocka@redhat.com> - 2017-07-13 04:30 +0200
Re: [PATCH] x86/kernel/cpu/amd.c: don't apply the lahf_lm workaround in a hypervisor Borislav Petkov <bp@alien8.de> - 2017-07-13 08:40 +0200
csiph-web