diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0060-kvm-svm-prepare-for-new-bit-definition-in-nested_ctl.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0060-kvm-svm-prepare-for-new-bit-definition-in-nested_ctl.patch | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0060-kvm-svm-prepare-for-new-bit-definition-in-nested_ctl.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0060-kvm-svm-prepare-for-new-bit-definition-in-nested_ctl.patch deleted file mode 100644 index 1c80a72d..00000000 --- a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71-e3000/0060-kvm-svm-prepare-for-new-bit-definition-in-nested_ctl.patch +++ /dev/null @@ -1,81 +0,0 @@ -From 99e4847c8110fd6e3f654cf07ea0e71964760bed Mon Sep 17 00:00:00 2001 -From: Tom Lendacky <thomas.lendacky@amd.com> -Date: Mon, 4 Dec 2017 10:57:24 -0600 -Subject: [PATCH 60/95] kvm: svm: prepare for new bit definition in nested_ctl -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Currently the nested_ctl variable in the vmcb_control_area structure is -used to indicate nested paging support. The nested paging support field -is actually defined as bit 0 of the field. In order to support a new -feature flag the usage of the nested_ctl and nested paging support must -be converted to operate on a single bit. - -Cc: Thomas Gleixner <tglx@linutronix.de> -Cc: Ingo Molnar <mingo@redhat.com> -Cc: "H. Peter Anvin" <hpa@zytor.com> -Cc: Paolo Bonzini <pbonzini@redhat.com> -Cc: "Radim Krčmář" <rkrcmar@redhat.com> -Cc: Joerg Roedel <joro@8bytes.org> -Cc: Borislav Petkov <bp@suse.de> -Cc: x86@kernel.org -Cc: kvm@vger.kernel.org -Cc: linux-kernel@vger.kernel.org -Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com> -Signed-off-by: Brijesh Singh <brijesh.singh@amd.com> -Reviewed-by: Borislav Petkov <bp@suse.de> -Signed-off-by: Sudheesh Mavila <sudheesh.mavila@amd.com> ---- - arch/x86/include/asm/svm.h | 2 ++ - arch/x86/kvm/svm.c | 7 ++++--- - 2 files changed, 6 insertions(+), 3 deletions(-) - -diff --git a/arch/x86/include/asm/svm.h b/arch/x86/include/asm/svm.h -index 78dd9df..c936c98 100644 ---- a/arch/x86/include/asm/svm.h -+++ b/arch/x86/include/asm/svm.h -@@ -146,6 +146,8 @@ struct __attribute__ ((__packed__)) vmcb_control_area { - #define SVM_VM_CR_SVM_LOCK_MASK 0x0008ULL - #define SVM_VM_CR_SVM_DIS_MASK 0x0010ULL - -+#define SVM_NESTED_CTL_NP_ENABLE BIT(0) -+ - struct __attribute__ ((__packed__)) vmcb_seg { - u16 selector; - u16 attrib; -diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c -index f6bebce..3c637b97 100644 ---- a/arch/x86/kvm/svm.c -+++ b/arch/x86/kvm/svm.c -@@ -1330,7 +1330,7 @@ static void init_vmcb(struct vcpu_svm *svm) - - if (npt_enabled) { - /* Setup VMCB for Nested Paging */ -- control->nested_ctl = 1; -+ control->nested_ctl |= SVM_NESTED_CTL_NP_ENABLE; - clr_intercept(svm, INTERCEPT_INVLPG); - clr_exception_intercept(svm, PF_VECTOR); - clr_cr_intercept(svm, INTERCEPT_CR3_READ); -@@ -2960,7 +2960,8 @@ static bool nested_vmcb_checks(struct vmcb *vmcb) - if (vmcb->control.asid == 0) - return false; - -- if (vmcb->control.nested_ctl && !npt_enabled) -+ if ((vmcb->control.nested_ctl & SVM_NESTED_CTL_NP_ENABLE) && -+ !npt_enabled) - return false; - - return true; -@@ -3035,7 +3036,7 @@ static bool nested_svm_vmrun(struct vcpu_svm *svm) - else - svm->vcpu.arch.hflags &= ~HF_HIF_MASK; - -- if (nested_vmcb->control.nested_ctl) { -+ if (nested_vmcb->control.nested_ctl & SVM_NESTED_CTL_NP_ENABLE) { - kvm_mmu_unload(&svm->vcpu); - svm->nested.nested_cr3 = nested_vmcb->control.nested_cr3; - nested_svm_init_mmu_context(&svm->vcpu); --- -2.7.4 - |