diff mbox

[RFC,v3,18/18] migration: disable save/restore and migration on SEV guest

Message ID 147801569625.18237.10901113874318000512.stgit@brijesh-build-machine
State New
Headers show

Commit Message

Brijesh Singh Nov. 1, 2016, 3:54 p.m. UTC
Snapshot, Restore and Migration is not implemented in first phase.

Return error when user tries to perform any of these operations.

Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
---
 migration/migration.c |    7 +++++++
 migration/savevm.c    |   11 +++++++++++
 2 files changed, 18 insertions(+)
diff mbox

Patch

diff --git a/migration/migration.c b/migration/migration.c
index e331f28..676c94c 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -37,6 +37,7 @@ 
 #include "io/channel-buffer.h"
 #include "io/channel-tls.h"
 #include "migration/colo.h"
+#include "sysemu/sev.h"
 
 #define MAX_THROTTLE  (32 << 20)      /* Migration transfer speed throttling */
 
@@ -1150,6 +1151,12 @@  void qmp_migrate(const char *uri, bool has_blk, bool blk,
         error_setg(errp, QERR_MIGRATION_ACTIVE);
         return;
     }
+
+    if (sev_enabled()) {
+        error_setg(errp, "Migration is not implemented on SEV guest\n");
+        return;
+    }
+
     if (runstate_check(RUN_STATE_INMIGRATE)) {
         error_setg(errp, "Guest is waiting for an incoming migration");
         return;
diff --git a/migration/savevm.c b/migration/savevm.c
index 0363372..f125716 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -54,6 +54,7 @@ 
 #include "qemu/cutils.h"
 #include "io/channel-buffer.h"
 #include "io/channel-file.h"
+#include "sysemu/sev.h"
 
 #ifndef ETH_P_RARP
 #define ETH_P_RARP 0x8035
@@ -2027,6 +2028,11 @@  void hmp_savevm(Monitor *mon, const QDict *qdict)
     Error *local_err = NULL;
     AioContext *aio_context;
 
+    if (sev_enabled()) {
+        monitor_printf(mon, "savevm is not implemented on SEV guest\n");
+        return;
+    }
+
     if (!bdrv_all_can_snapshot(&bs)) {
         monitor_printf(mon, "Device '%s' is writable but does not "
                        "support snapshots.\n", bdrv_get_device_name(bs));
@@ -2176,6 +2182,11 @@  int load_vmstate(const char *name)
     int ret;
     AioContext *aio_context;
 
+    if (sev_enabled()) {
+        error_report("loadvm is not implemented on SEV guest\n");
+        return -ENOTSUP;
+    }
+
     if (!bdrv_all_can_snapshot(&bs)) {
         error_report("Device '%s' is writable but does not support snapshots.",
                      bdrv_get_device_name(bs));