]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'kvm-sev-move-context' into kvm-master
authorPaolo Bonzini <pbonzini@redhat.com>
Thu, 11 Nov 2021 15:52:26 +0000 (10:52 -0500)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 11 Nov 2021 16:02:58 +0000 (11:02 -0500)
commit59ed9a13f62f204a6c6c69112093d3b52f367f09
treef63985f733f3f64e264335ec39501b5e04c9ee71
parent3d15f4a1887020f6b07f9d778b6c867e8efaf8e7
parenta94f3933d28eea3665444e32efca9d5b86c37234
Merge branch 'kvm-sev-move-context' into kvm-master

Add support for AMD SEV and SEV-ES intra-host migration support.  Intra
host migration provides a low-cost mechanism for userspace VMM upgrades.

In the common case for intra host migration, we can rely on the normal
ioctls for passing data from one VMM to the next. SEV, SEV-ES, and other
confidential compute environments make most of this information opaque, and
render KVM ioctls such as "KVM_GET_REGS" irrelevant.  As a result, we need
the ability to pass this opaque metadata from one VMM to the next. The
easiest way to do this is to leave this data in the kernel, and transfer
ownership of the metadata from one KVM VM (or vCPU) to the next.  In-kernel
hand off makes it possible to move any data that would be
unsafe/impossible for the kernel to hand directly to userspace, and
cannot be reproduced using data that can be handed to userspace.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/include/asm/kvm_host.h
arch/x86/kvm/svm/sev.c
arch/x86/kvm/svm/svm.c
arch/x86/kvm/svm/svm.h
arch/x86/kvm/x86.c