On Thu, Apr 22, 2021, Paolo Bonzini wrote: > > Paolo Bonzini (1): > > KVM: SEV: Mask CPUID[0x8000001F].eax according to supported features > > > > Sean Christopherson (14): > > KVM: SVM: Zero out the VMCB array used to track SEV ASID association > > KVM: SVM: Free sev_asid_bitmap during init if SEV setup fails > > KVM: SVM: Disable SEV/SEV-ES if NPT is disabled > > KVM: SVM: Move SEV module params/variables to sev.c > > x86/sev: Drop redundant and potentially misleading 'sev_enabled' > > KVM: SVM: Append "_enabled" to module-scoped SEV/SEV-ES control > > variables > > KVM: SVM: Condition sev_enabled and sev_es_enabled on > > CONFIG_KVM_AMD_SEV=y > > KVM: SVM: Enable SEV/SEV-ES functionality by default (when supported) > > KVM: SVM: Unconditionally invoke sev_hardware_teardown() > > KVM: SVM: Explicitly check max SEV ASID during sev_hardware_setup() > > KVM: SVM: Move SEV VMCB tracking allocation to sev.c > > KVM: SVM: Drop redundant svm_sev_enabled() helper > > KVM: SVM: Remove an unnecessary prototype declaration of > > sev_flush_asids() > > KVM: SVM: Skip SEV cache flush if no ASIDs have been used > > > > arch/x86/include/asm/mem_encrypt.h | 1 - > > arch/x86/kvm/cpuid.c | 8 ++- > > arch/x86/kvm/cpuid.h | 1 + > > arch/x86/kvm/svm/sev.c | 80 ++++++++++++++++++++++-------- > > arch/x86/kvm/svm/svm.c | 57 +++++++++------------ > > arch/x86/kvm/svm/svm.h | 9 +--- > > arch/x86/mm/mem_encrypt.c | 12 ++--- > > arch/x86/mm/mem_encrypt_identity.c | 1 - > > 8 files changed, 97 insertions(+), 72 deletions(-) > > > > Queued except for patch 6, send that separately since it's purely x86 and > maintainers will likely not notice it inside this thread. You probably want > to avoid conflicts by waiting for the migration patches, though. It can't be sent separately, having both the kernel's sev_enabled and KVM's sev_enabled doesn't build with CONFIG_AMD_MEM_ENCRYPT=y: arch/x86/kvm/svm/sev.c:33:13: error: static declaration of ‘sev_enabled’ follows non-static declaration 33 | static bool sev_enabled = true; | ^~~~~~~~~~~ In file included from include/linux/mem_encrypt.h:17, from arch/x86/include/asm/page_types.h:7, from arch/x86/include/asm/page.h:9, from arch/x86/include/asm/thread_info.h:12, from include/linux/thread_info.h:58, from arch/x86/include/asm/preempt.h:7, from include/linux/preempt.h:78, from include/linux/percpu.h:6, from include/linux/context_tracking_state.h:5, from include/linux/hardirq.h:5, from include/linux/kvm_host.h:7, from arch/x86/kvm/svm/sev.c:11: arch/x86/include/asm/mem_encrypt.h:23:13: note: previous declaration of ‘sev_enabled’ was here 23 | extern bool sev_enabled; | ^~~~~~~~~~~ make[3]: *** [scripts/Makefile.build:271: arch/x86/kvm/svm/sev.o] Error 1