The configuration section has a new subsection to transmit the target page
size along with the migration stream. The analyze migration script needs
to learn about that to read configuration streams that were triggering
this subsection to get transmitted.

With this patch applied, I can successfully analyze migration streams
on AArch64 again.

Signed-off-by: Alexander Graf <ag...@suse.de>
---
 scripts/analyze-migration.py | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/scripts/analyze-migration.py b/scripts/analyze-migration.py
index 1455387..02784f2 100755
--- a/scripts/analyze-migration.py
+++ b/scripts/analyze-migration.py
@@ -254,12 +254,25 @@ class HTABSection(object):
 
 
 class ConfigurationSection(object):
+    QEMU_VM_SUBSECTION    = 0x05
+
     def __init__(self, file):
         self.file = file
 
     def read(self):
         name_len = self.file.read32()
         name = self.file.readstr(len = name_len)
+        oldpos = self.file.tell()
+        if self.file.read8() == self.QEMU_VM_SUBSECTION:
+            name = self.file.readstr()
+            version_id = self.file.read32()
+            if name == "configuration/target-page-bits":
+                target_page_size = self.file.read32()
+            else:
+                raise Exception("Unknown config subsection: %s" % name)
+        else:
+            # No subsection following, forget that we ever read anything
+            self.file.seek(oldpos)
 
 class VMSDFieldGeneric(object):
     def __init__(self, desc, file):
-- 
1.8.5.6


Reply via email to