diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.9.21/0003-kvm-svm-Setup-MCG_CAP-on-AMD-properly.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.9.21/0003-kvm-svm-Setup-MCG_CAP-on-AMD-properly.patch | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.9.21/0003-kvm-svm-Setup-MCG_CAP-on-AMD-properly.patch b/common/recipes-kernel/linux/linux-yocto-4.9.21/0003-kvm-svm-Setup-MCG_CAP-on-AMD-properly.patch deleted file mode 100644 index d1b9f3df..00000000 --- a/common/recipes-kernel/linux/linux-yocto-4.9.21/0003-kvm-svm-Setup-MCG_CAP-on-AMD-properly.patch +++ /dev/null @@ -1,54 +0,0 @@ -From de05b6da8c54ed0aa2158ad3112ac582c88f0676 Mon Sep 17 00:00:00 2001 -From: Borislav Petkov <bp@suse.de> -Date: Sun, 26 Mar 2017 23:51:24 +0200 -Subject: [PATCH 03/93] kvm/svm: Setup MCG_CAP on AMD properly -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -[ Upstream commit 74f169090b6f36b867c9df0454366dd9af6f62d1 ] - -MCG_CAP[63:9] bits are reserved on AMD. However, on an AMD guest, this -MSR returns 0x100010a. More specifically, bit 24 is set, which is simply -wrong. That bit is MCG_SER_P and is present only on Intel. Thus, clean -up the reserved bits in order not to confuse guests. - -Signed-off-by: Borislav Petkov <bp@suse.de> -Cc: Joerg Roedel <joro@8bytes.org> -Cc: Paolo Bonzini <pbonzini@redhat.com> -Cc: Radim Krčmář <rkrcmar@redhat.com> -Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> -Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> -Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> ---- - arch/x86/kvm/svm.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c -index b82bb66..2d96e30 100644 ---- a/arch/x86/kvm/svm.c -+++ b/arch/x86/kvm/svm.c -@@ -5437,6 +5437,12 @@ static inline void avic_post_state_restore(struct kvm_vcpu *vcpu) - avic_handle_ldr_update(vcpu); - } - -+static void svm_setup_mce(struct kvm_vcpu *vcpu) -+{ -+ /* [63:9] are reserved. */ -+ vcpu->arch.mcg_cap &= 0x1ff; -+} -+ - static struct kvm_x86_ops svm_x86_ops __ro_after_init = { - .cpu_has_kvm_support = has_svm, - .disabled_by_bios = is_disabled, -@@ -5552,6 +5558,7 @@ static struct kvm_x86_ops svm_x86_ops __ro_after_init = { - .pmu_ops = &amd_pmu_ops, - .deliver_posted_interrupt = svm_deliver_avic_intr, - .update_pi_irte = svm_update_pi_irte, -+ .setup_mce = svm_setup_mce, - }; - - static int __init svm_init(void) --- -2.7.4 - |