KVM: SEV: Allow per-guest configuration of GHCB protocol version
authorMichael Roth <michael.roth@amd.com>
Wed, 1 May 2024 07:10:48 +0000 (02:10 -0500)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 7 May 2024 17:28:05 +0000 (13:28 -0400)
commit4af663c2f64a8d252e690c60cf8b8abf22dc2951
tree3e5d4cb911e47f8303126647a753b9b8b57fdc11
parent8d1a36e42be6b0864c2c30f94536663b6f08fb48
KVM: SEV: Allow per-guest configuration of GHCB protocol version

The GHCB protocol version may be different from one guest to the next.
Add a field to track it for each KVM instance and extend KVM_SEV_INIT2
to allow it to be configured by userspace.

Now that all SEV-ES support for GHCB protocol version 2 is in place, go
ahead and default to it when creating SEV-ES guests through the new
KVM_SEV_INIT2 interface. Keep the older KVM_SEV_ES_INIT interface
restricted to GHCB protocol version 1.

Suggested-by: Sean Christopherson <seanjc@google.com>
Signed-off-by: Michael Roth <michael.roth@amd.com>
Message-ID: <20240501071048.2208265-5-michael.roth@amd.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Documentation/virt/kvm/x86/amd-memory-encryption.rst
arch/x86/include/uapi/asm/kvm.h
arch/x86/kvm/svm/sev.c
arch/x86/kvm/svm/svm.h