According to section "TLB Flush" in APM vol 2, "Support for TLB_CONTROL commands other than the first two, is optional and is indicated by CPUID Fn8000_000A_EDX[FlushByAsid]. All encodings of TLB_CONTROL not defined in the APM are reserved." Patch# 1: Exposes FLUSHBYASID CPUID feature to nestsed guests. Patch# 2: Adds KVM checks for ptional commands and reserved encodings of TLB_CONTROL. Patch# 3: Adds #defines for valid encodings of TLB_CONTROL. Patch# 4: Adds #define for FLUSHBYASID CPUID bit. Patch# 5: Adds kvm-unit-tests for optional commands and reserved encodings of TLB_CONTROL. [PATCH 1/5] nSVM: Expose FLUSHBYASID CPUID feature to nested guests [PATCH 2/5] nSVM: Check for optional commands and reserved encodings of [TEST PATCH 3/5] SVM: Add #defines for valid encodings of TLB_CONTROL VMCB [TEST PATCH 4/5] X86: Add #define for FLUSHBYASID CPUID bit [TEST PATCH 5/5] nSVM: Test optional commands and reserved encodings of TLB_CONTROL in nested VMCB arch/x86/kvm/svm/nested.c | 19 +++++++++++++++++++ arch/x86/kvm/svm/svm.c | 3 +++ 2 files changed, 22 insertions(+) Krish Sadhukhan (2): nSVM: Expose FLUSHBYASID CPUID feature to nested guests nSVM: Check for optional commands and reserved encodings of TLB_CONTROL in nested VMCB lib/x86/processor.h | 1 + x86/svm.h | 5 +++++ x86/svm_tests.c | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+) Krish Sadhukhan (3): SVM: Add #defines for valid encodings of TLB_CONTROL VMCB field X86: Add #define for FLUSHBYASID CPUID bit nSVM: Test optional commands and reserved encodings of TLB_CONTROL in nested VMCB