aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--target/i386/sev.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/target/i386/sev.c b/target/i386/sev.c
index dc8136c56e..639973ce4c 100644
--- a/target/i386/sev.c
+++ b/target/i386/sev.c
@@ -24,11 +24,13 @@
#include "sev_i386.h"
#include "sysemu/sysemu.h"
#include "trace.h"
+#include "migration/blocker.h"
#define DEFAULT_GUEST_POLICY 0x1 /* disable debug */
#define DEFAULT_SEV_DEVICE "/dev/sev"
static SEVState *sev_state;
+static Error *sev_mig_blocker;
static const char *const sev_fw_errlist[] = {
"",
@@ -582,6 +584,7 @@ static void
sev_launch_finish(SEVState *s)
{
int ret, error;
+ Error *local_err = NULL;
trace_kvm_sev_launch_finish();
ret = sev_ioctl(sev_state->sev_fd, KVM_SEV_LAUNCH_FINISH, 0, &error);
@@ -592,6 +595,16 @@ sev_launch_finish(SEVState *s)
}
sev_set_guest_state(SEV_STATE_RUNNING);
+
+ /* add migration blocker */
+ error_setg(&sev_mig_blocker,
+ "SEV: Migration is not implemented");
+ ret = migrate_add_blocker(sev_mig_blocker, &local_err);
+ if (local_err) {
+ error_report_err(local_err);
+ error_free(sev_mig_blocker);
+ exit(1);
+ }
}
static void