From: Ashish Kalra <Ashish.Kalra@amd.com>
To: pbonzini@redhat.com
Cc: tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com,
joro@8bytes.org, bp@suse.de, thomas.lendacky@amd.com,
x86@kernel.org, kvm@vger.kernel.org,
linux-kernel@vger.kernel.org, srutherford@google.com,
seanjc@google.com, venu.busireddy@oracle.com,
brijesh.singh@amd.com
Subject: [PATCH 0/4] Add guest support for SEV live migration.
Date: Thu, 22 Apr 2021 20:54:36 +0000 [thread overview]
Message-ID: <cover.1619124613.git.ashish.kalra@amd.com> (raw)
From: Ashish Kalra <ashish.kalra@amd.com>
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.
Ashish Kalra (2):
EFI: Introduce the new AMD Memory Encryption GUID.
x86/kvm: Add guest support for detecting and enabling SEV Live
Migration feature.
Brijesh Singh (2):
KVM: x86: Add AMD SEV specific Hypercall3
mm: x86: Invoke hypercall when page encryption status is changed
arch/x86/include/asm/kvm_para.h | 12 +++
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, 204 insertions(+), 9 deletions(-)
--
2.17.1
next reply other threads:[~2021-04-22 20:54 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-22 20:54 Ashish Kalra [this message]
2021-04-22 20:55 ` [PATCH 1/4] KVM: x86: Add AMD SEV specific Hypercall3 Ashish Kalra
2021-04-23 0:03 ` Sean Christopherson
2021-04-22 20:55 ` [PATCH 2/4] mm: x86: Invoke hypercall when page encryption status is changed Ashish Kalra
2021-04-22 20:56 ` [PATCH 3/4] EFI: Introduce the new AMD Memory Encryption GUID Ashish Kalra
2021-04-22 20:56 ` [PATCH 4/4] x86/kvm: Add guest support for detecting and enabling SEV Live Migration feature Ashish Kalra
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1619124613.git.ashish.kalra@amd.com \
--to=ashish.kalra@amd.com \
--cc=bp@suse.de \
--cc=brijesh.singh@amd.com \
--cc=hpa@zytor.com \
--cc=joro@8bytes.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=pbonzini@redhat.com \
--cc=seanjc@google.com \
--cc=srutherford@google.com \
--cc=tglx@linutronix.de \
--cc=thomas.lendacky@amd.com \
--cc=venu.busireddy@oracle.com \
--cc=x86@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox