]> xenbits.xensource.com Git - people/dwmw2/xen.git/commitdiff
Add LU_VERSION and LU_END records to live update stream
authorDavid Woodhouse <dwmw@amazon.co.uk>
Mon, 27 Jan 2020 23:46:42 +0000 (23:46 +0000)
committerDavid Woodhouse <dwmw@amazon.co.uk>
Fri, 31 Jan 2020 16:47:09 +0000 (16:47 +0000)
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
xen/common/lu/save.c
xen/include/public/migration_stream.h

index c43962c44e3a53dd8aeadc8b3fcc6beac92529d1..84852da35e2d02330b0f7d615e6ab158acab672e 100644 (file)
@@ -4,10 +4,17 @@
 #include <xen/lu.h>
 #include <xen/kimage.h>
 #include <xen/sched.h>
+#include <xen/version.h>
+#include <public/migration_stream.h>
 
 int lu_save_global(struct lu_stream *stream)
 {
-    return 0;
+    struct mr_lu_version ver_rec;
+
+    ver_rec.xen_major = xen_major_version();
+    ver_rec.xen_minor = xen_minor_version();
+    return lu_stream_append_record(stream, REC_TYPE_LU_VERSION,
+                                   &ver_rec, sizeof(ver_rec));
 }
 
 
@@ -34,6 +41,10 @@ int lu_save_all(struct kexec_image *image)
         ret = lu_save_domain(&stream, d);
     }
 
+    if (!ret)
+        ret = lu_stream_append_record(&stream, REC_TYPE_END,
+                                      NULL, 0);
+
     if (!ret)
         ret = kimage_add_live_update_data(image,
                           _mfn(virt_to_mfn(stream.pagelist)),
index 92dd119f9f6e6c37361bb2f43bad399440a2671d..29ed8cc2b55d0be880d66ff1750ba25ad098e00e 100644 (file)
@@ -51,6 +51,8 @@ struct mr_rhdr
 #define REC_TYPE_CHECKPOINT                 0x0000000eU
 #define REC_TYPE_CHECKPOINT_DIRTY_PFN_LIST  0x0000000fU
 
+#define REC_TYPE_LU_VERSION                 0x40000000U
+
 #define REC_TYPE_OPTIONAL             0x80000000U
 #define REC_TYPE_LIVE_UPDATE          0x40000000U
 
@@ -113,6 +115,13 @@ struct mr_hvm_params
     struct mr_hvm_params_entry param[0];
 };
 
+/* LU_VERSION */
+struct mr_lu_version
+{
+    uint32_t xen_major;
+    uint32_t xen_minor;
+};
+
 #endif /* __XEN_MIGRATION_STREAM_H__ */
 
 /*