diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.9.21/0030-KVM-VMX-clean-up-declaration-of-VPID-EPT-invalidatio.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.9.21/0030-KVM-VMX-clean-up-declaration-of-VPID-EPT-invalidatio.patch | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.9.21/0030-KVM-VMX-clean-up-declaration-of-VPID-EPT-invalidatio.patch b/common/recipes-kernel/linux/linux-yocto-4.9.21/0030-KVM-VMX-clean-up-declaration-of-VPID-EPT-invalidatio.patch new file mode 100644 index 00000000..fefa3aac --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.9.21/0030-KVM-VMX-clean-up-declaration-of-VPID-EPT-invalidatio.patch @@ -0,0 +1,57 @@ +From 9d11f29130341345dee37007dd76b9c4e83956a9 Mon Sep 17 00:00:00 2001 +From: Jan Dakinevich <jan.dakinevich@gmail.com> +Date: Fri, 23 Feb 2018 11:42:17 +0100 +Subject: [PATCH 30/33] KVM: VMX: clean up declaration of VPID/EPT invalidation + types +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +commit 63f3ac48133a19110c8a3666028dbd9b1bf3dcb3 upstream + +- Remove VMX_EPT_EXTENT_INDIVIDUAL_ADDR, since there is no such type of + EPT invalidation + + - Add missing VPID types names + +Signed-off-by: Jan Dakinevich <jan.dakinevich@gmail.com> +Tested-by: Ladi Prosek <lprosek@redhat.com> +Signed-off-by: Radim Krčmář <rkrcmar@redhat.com> +[jwang: port to 4.4] +Signed-off-by: Jack Wang <jinpu.wang@profitbricks.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> +--- + arch/x86/include/asm/vmx.h | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/arch/x86/include/asm/vmx.h b/arch/x86/include/asm/vmx.h +index a002b07..6899cf1 100644 +--- a/arch/x86/include/asm/vmx.h ++++ b/arch/x86/include/asm/vmx.h +@@ -399,10 +399,11 @@ enum vmcs_field { + #define IDENTITY_PAGETABLE_PRIVATE_MEMSLOT (KVM_USER_MEM_SLOTS + 2) + + #define VMX_NR_VPIDS (1 << 16) ++#define VMX_VPID_EXTENT_INDIVIDUAL_ADDR 0 + #define VMX_VPID_EXTENT_SINGLE_CONTEXT 1 + #define VMX_VPID_EXTENT_ALL_CONTEXT 2 ++#define VMX_VPID_EXTENT_SINGLE_NON_GLOBAL 3 + +-#define VMX_EPT_EXTENT_INDIVIDUAL_ADDR 0 + #define VMX_EPT_EXTENT_CONTEXT 1 + #define VMX_EPT_EXTENT_GLOBAL 2 + #define VMX_EPT_EXTENT_SHIFT 24 +@@ -419,8 +420,10 @@ enum vmcs_field { + #define VMX_EPT_EXTENT_GLOBAL_BIT (1ull << 26) + + #define VMX_VPID_INVVPID_BIT (1ull << 0) /* (32 - 32) */ ++#define VMX_VPID_EXTENT_INDIVIDUAL_ADDR_BIT (1ull << 8) /* (40 - 32) */ + #define VMX_VPID_EXTENT_SINGLE_CONTEXT_BIT (1ull << 9) /* (41 - 32) */ + #define VMX_VPID_EXTENT_GLOBAL_CONTEXT_BIT (1ull << 10) /* (42 - 32) */ ++#define VMX_VPID_EXTENT_SINGLE_NON_GLOBAL_BIT (1ull << 11) /* (43 - 32) */ + + #define VMX_EPT_DEFAULT_GAW 3 + #define VMX_EPT_MAX_GAW 0x4 +-- +2.7.4 + |