summaryrefslogtreecommitdiffstats
path: root/hw/ppc
diff options
context:
space:
mode:
authorDavid Gibson2020-06-04 07:24:27 +0200
committerDavid Gibson2021-02-08 06:57:38 +0100
commit6742eefc9314678bba39e461fe8cdd0a841c3e92 (patch)
treea45d59b88f53da52f694f6cd2e6ac312e6a47f14 /hw/ppc
parentspapr: Add PEF based confidential guest support (diff)
downloadqemu-6742eefc9314678bba39e461fe8cdd0a841c3e92.tar.gz
qemu-6742eefc9314678bba39e461fe8cdd0a841c3e92.tar.xz
qemu-6742eefc9314678bba39e461fe8cdd0a841c3e92.zip
spapr: PEF: prevent migration
We haven't yet implemented the fairly involved handshaking that will be needed to migrate PEF protected guests. For now, just use a migration blocker so we get a meaningful error if someone attempts this (this is the same approach used by AMD SEV). Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: Greg Kurz <groug@kaod.org>
Diffstat (limited to 'hw/ppc')
-rw-r--r--hw/ppc/pef.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/hw/ppc/pef.c b/hw/ppc/pef.c
index f9fd1f2a71..573be3ed79 100644
--- a/hw/ppc/pef.c
+++ b/hw/ppc/pef.c
@@ -44,6 +44,8 @@ struct PefGuest {
static int kvmppc_svm_init(Error **errp)
{
#ifdef CONFIG_KVM
+ static Error *pef_mig_blocker;
+
if (!kvm_check_extension(kvm_state, KVM_CAP_PPC_SECURE_GUEST)) {
error_setg(errp,
"KVM implementation does not support Secure VMs (is an ultravisor running?)");
@@ -58,6 +60,11 @@ static int kvmppc_svm_init(Error **errp)
}
}
+ /* add migration blocker */
+ error_setg(&pef_mig_blocker, "PEF: Migration is not implemented");
+ /* NB: This can fail if --only-migratable is used */
+ migrate_add_blocker(pef_mig_blocker, &error_fatal);
+
return 0;
#else
g_assert_not_reached();