Hello Boris, Paolo, Do you have additional comments, feedback on this updated patchset ? Thanks, Ashish On Fri, Apr 23, 2021 at 03:57:37PM +0000, Ashish Kalra wrote: > From: Ashish Kalra <ashish.kalra@xxxxxxx> > > The series adds guest support for SEV live migration. > > The patch series introduces a new hypercall. The guest OS can use this > hypercall to notify the page encryption status. If the page is encrypted > with guest specific-key then we use SEV command during the migration. > If page is not encrypted then fallback to default. > > This section descibes how the SEV live migration feature is negotiated > between the host and guest, the host indicates this feature support via > KVM_FEATURE_CPUID. The guest firmware (OVMF) detects this feature and > sets a UEFI enviroment variable indicating OVMF support for live > migration, the guest kernel also detects the host support for this > feature via cpuid and in case of an EFI boot verifies if OVMF also > supports this feature by getting the UEFI enviroment variable and if it > set then enables live migration feature on host by writing to a custom > MSR, if not booted under EFI, then it simply enables the feature by > again writing to the custom MSR. > > Changes since v1: > - Avoid having an SEV specific variant of kvm_hypercall3() and instead > invert the default to VMMCALL. > > Ashish Kalra (3): > KVM: x86: invert KVM_HYPERCALL to default to VMMCALL > EFI: Introduce the new AMD Memory Encryption GUID. > x86/kvm: Add guest support for detecting and enabling SEV Live > Migration feature. > > Brijesh Singh (1): > mm: x86: Invoke hypercall when page encryption status is changed > > arch/x86/include/asm/kvm_para.h | 2 +- > arch/x86/include/asm/mem_encrypt.h | 4 + > arch/x86/include/asm/paravirt.h | 6 ++ > arch/x86/include/asm/paravirt_types.h | 2 + > arch/x86/include/asm/set_memory.h | 2 + > arch/x86/kernel/kvm.c | 106 ++++++++++++++++++++++++++ > arch/x86/kernel/paravirt.c | 1 + > arch/x86/mm/mem_encrypt.c | 72 ++++++++++++++--- > arch/x86/mm/pat/set_memory.c | 7 ++ > include/linux/efi.h | 1 + > 10 files changed, 193 insertions(+), 10 deletions(-) > > -- > 2.17.1 >