9ae3a8
From a681849c8c4978c085fc8882fa750e00cf03492c Mon Sep 17 00:00:00 2001
9ae3a8
From: Amit Shah <amit.shah@redhat.com>
9ae3a8
Date: Fri, 11 Jul 2014 10:09:00 -0500
9ae3a8
Subject: [CHANGE 04/29] tests: vmstate static checker: add dump1 and dump2
9ae3a8
 files
9ae3a8
To: rhvirt-patches@redhat.com,
9ae3a8
    jen@redhat.com
9ae3a8
9ae3a8
RH-Author: Amit Shah <amit.shah@redhat.com>
9ae3a8
Message-id: <42a556722619e2344964639021fb55f882f30586.1405072585.git.amit.shah@redhat.com>
9ae3a8
Patchwork-id: 59784
9ae3a8
O-Subject: [RHEL7.1 qemu-kvm PATCH 03/18] tests: vmstate static checker: add dump1 and dump2 files
9ae3a8
Bugzilla: 1118707
9ae3a8
RH-Acked-by: Juan Quintela <quintela@redhat.com>
9ae3a8
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
9ae3a8
RH-Acked-by: Dr. David Alan Gilbert (git) <dgilbert@redhat.com>
9ae3a8
9ae3a8
These are stripped-down JSON data as obtained from the -dump-vmstate
9ae3a8
option.  The two files are identical in this commit, and will be
9ae3a8
modified in the later commits to show what the script does with the
9ae3a8
data.
9ae3a8
9ae3a8
Signed-off-by: Amit Shah <amit.shah@redhat.com>
9ae3a8
Acked-by: Juan Quintela <quintela@redhat.com>
9ae3a8
Signed-off-by: Juan Quintela <quintela@redhat.com>
9ae3a8
(cherry picked from commit a10413e4fc96f83ff60b3c57d7b805752a7fc492)
9ae3a8
Signed-off-by: Amit Shah <amit.shah@redhat.com>
9ae3a8
Signed-off-by: jen <jen@redhat.com>
9ae3a8
---
9ae3a8
 tests/vmstate-static-checker-data/dump1.json | 1163 ++++++++++++++++++++++++++
9ae3a8
 tests/vmstate-static-checker-data/dump2.json | 1163 ++++++++++++++++++++++++++
9ae3a8
 2 files changed, 2326 insertions(+)
9ae3a8
 create mode 100644 tests/vmstate-static-checker-data/dump1.json
9ae3a8
 create mode 100644 tests/vmstate-static-checker-data/dump2.json
9ae3a8
9ae3a8
diff --git a/tests/vmstate-static-checker-data/dump1.json b/tests/vmstate-static-checker-data/dump1.json
9ae3a8
new file mode 100644
9ae3a8
index 0000000..44200fb
9ae3a8
--- /dev/null
9ae3a8
+++ b/tests/vmstate-static-checker-data/dump1.json
9ae3a8
@@ -0,0 +1,1163 @@
9ae3a8
+{
9ae3a8
+  "vmschkmachine": {
9ae3a8
+    "Name": "pc-i440fx-2.1"
9ae3a8
+  },
9ae3a8
+  "fw_cfg": {
9ae3a8
+    "Name": "fw_cfg",
9ae3a8
+    "version_id": 2,
9ae3a8
+    "minimum_version_id": 1,
9ae3a8
+    "Description": {
9ae3a8
+      "name": "fw_cfg",
9ae3a8
+      "version_id": 2,
9ae3a8
+      "minimum_version_id": 1,
9ae3a8
+      "Fields": [
9ae3a8
+        {
9ae3a8
+          "field": "cur_entry",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 2
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "cur_offset",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": true,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "cur_offset",
9ae3a8
+          "version_id": 2,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        }
9ae3a8
+      ]
9ae3a8
+    }
9ae3a8
+  },
9ae3a8
+  "fusbh200-ehci-usb": {
9ae3a8
+    "Name": "fusbh200-ehci-usb",
9ae3a8
+    "version_id": 2,
9ae3a8
+    "minimum_version_id": 1,
9ae3a8
+    "Description": {
9ae3a8
+      "name": "ehci-sysbus",
9ae3a8
+      "version_id": 2,
9ae3a8
+      "minimum_version_id": 1,
9ae3a8
+      "Fields": [
9ae3a8
+        {
9ae3a8
+          "field": "ehci",
9ae3a8
+          "version_id": 2,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1880,
9ae3a8
+          "Description": {
9ae3a8
+            "name": "ehci-core",
9ae3a8
+            "version_id": 2,
9ae3a8
+            "minimum_version_id": 1,
9ae3a8
+            "Fields": [
9ae3a8
+              {
9ae3a8
+                "field": "usbcmd",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "usbsts",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "usbsts_pending",
9ae3a8
+                "version_id": 2,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "usbsts_frindex",
9ae3a8
+                "version_id": 2,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "usbintr",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "frindex",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "ctrldssegment",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "periodiclistbase",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "asynclistaddr",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "configflag",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "portsc[0]",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "portsc[1]",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "portsc[2]",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "portsc[3]",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "portsc[4]",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "portsc[5]",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "frame_timer",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 8
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "last_run_ns",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 8
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "async_stepdown",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "astate",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "pstate",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "a_fetch_addr",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "p_fetch_addr",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              }
9ae3a8
+            ]
9ae3a8
+          }
9ae3a8
+        }
9ae3a8
+      ]
9ae3a8
+    }
9ae3a8
+  },
9ae3a8
+  "pci-serial-4x": {
9ae3a8
+    "Name": "pci-serial-4x",
9ae3a8
+    "version_id": 1,
9ae3a8
+    "minimum_version_id": 1,
9ae3a8
+    "Description": {
9ae3a8
+      "name": "pci-serial-multi",
9ae3a8
+      "version_id": 1,
9ae3a8
+      "minimum_version_id": 1,
9ae3a8
+      "Fields": [
9ae3a8
+        {
9ae3a8
+          "field": "dev",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1944,
9ae3a8
+          "Description": {
9ae3a8
+            "name": "PCIDevice",
9ae3a8
+            "version_id": 2,
9ae3a8
+            "minimum_version_id": 1,
9ae3a8
+            "Fields": [
9ae3a8
+              {
9ae3a8
+                "field": "version_id",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "config",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 256
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "irq_state",
9ae3a8
+                "version_id": 2,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 16
9ae3a8
+              }
9ae3a8
+            ]
9ae3a8
+          }
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "state",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 368,
9ae3a8
+          "Description": {
9ae3a8
+            "name": "serial",
9ae3a8
+            "version_id": 3,
9ae3a8
+            "minimum_version_id": 2,
9ae3a8
+            "Fields": [
9ae3a8
+              {
9ae3a8
+                "field": "divider",
9ae3a8
+                "version_id": 2,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 2
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "rbr",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "ier",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "iir",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "lcr",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "mcr",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "lsr",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "msr",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "scr",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "fcr_vmstate",
9ae3a8
+                "version_id": 3,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              }
9ae3a8
+            ]
9ae3a8
+          }
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "level",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        }
9ae3a8
+      ]
9ae3a8
+    }
9ae3a8
+  },
9ae3a8
+  "intel-hda-generic": {
9ae3a8
+    "Name": "intel-hda-generic",
9ae3a8
+    "version_id": 1,
9ae3a8
+    "minimum_version_id": 0,
9ae3a8
+    "Description": {
9ae3a8
+      "name": "intel-hda",
9ae3a8
+      "version_id": 1,
9ae3a8
+      "minimum_version_id": 0,
9ae3a8
+      "Fields": [
9ae3a8
+        {
9ae3a8
+          "field": "pci",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1944,
9ae3a8
+          "Description": {
9ae3a8
+            "name": "PCIDevice",
9ae3a8
+            "version_id": 2,
9ae3a8
+            "minimum_version_id": 1,
9ae3a8
+            "Fields": [
9ae3a8
+              {
9ae3a8
+                "field": "version_id",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "config",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 256
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "irq_state",
9ae3a8
+                "version_id": 2,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 16
9ae3a8
+              }
9ae3a8
+            ]
9ae3a8
+          }
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "g_ctl",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "wake_en",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "state_sts",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "int_ctl",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "int_sts",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "wall_clk",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "corb_lbase",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "corb_ubase",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "corb_rp",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "corb_wp",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "corb_ctl",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "corb_sts",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "corb_size",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "rirb_lbase",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "rirb_ubase",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "rirb_wp",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "rirb_cnt",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "rirb_ctl",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "rirb_sts",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "rirb_size",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "dp_lbase",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "dp_ubase",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "icw",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "irr",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "ics",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "st",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 56,
9ae3a8
+          "Description": {
9ae3a8
+            "name": "intel-hda-stream",
9ae3a8
+            "version_id": 1,
9ae3a8
+            "minimum_version_id": 0,
9ae3a8
+            "Fields": [
9ae3a8
+              {
9ae3a8
+                "field": "ctl",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "lpib",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "cbl",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "lvi",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "fmt",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "bdlp_lbase",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "bdlp_ubase",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              }
9ae3a8
+            ]
9ae3a8
+          }
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "rirb_count",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "wall_base_ns",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 8
9ae3a8
+        }
9ae3a8
+      ]
9ae3a8
+    }
9ae3a8
+  },
9ae3a8
+  "cfi.pflash01": {
9ae3a8
+    "Name": "cfi.pflash01",
9ae3a8
+    "version_id": 1,
9ae3a8
+    "minimum_version_id": 1,
9ae3a8
+    "Description": {
9ae3a8
+      "name": "pflash_cfi01",
9ae3a8
+      "version_id": 1,
9ae3a8
+      "minimum_version_id": 1,
9ae3a8
+      "Fields": [
9ae3a8
+        {
9ae3a8
+          "field": "wcycle",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "cmd",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "status",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "counter",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 8
9ae3a8
+        }
9ae3a8
+      ]
9ae3a8
+    }
9ae3a8
+  },
9ae3a8
+  "megasas": {
9ae3a8
+    "Name": "megasas",
9ae3a8
+    "version_id": 0,
9ae3a8
+    "minimum_version_id": 0,
9ae3a8
+    "Description": {
9ae3a8
+      "name": "megasas",
9ae3a8
+      "version_id": 0,
9ae3a8
+      "minimum_version_id": 0,
9ae3a8
+      "Fields": [
9ae3a8
+        {
9ae3a8
+          "field": "parent_obj",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1944,
9ae3a8
+          "Description": {
9ae3a8
+            "name": "PCIDevice",
9ae3a8
+            "version_id": 2,
9ae3a8
+            "minimum_version_id": 1,
9ae3a8
+            "Fields": [
9ae3a8
+              {
9ae3a8
+                "field": "version_id",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "config",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 256
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "irq_state",
9ae3a8
+                "version_id": 2,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 16
9ae3a8
+              }
9ae3a8
+            ]
9ae3a8
+          }
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "fw_state",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "intr_mask",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "doorbell",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "reply_queue_pa",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 8
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "consumer_pa",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 8
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "producer_pa",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 8
9ae3a8
+        }
9ae3a8
+      ]
9ae3a8
+    }
9ae3a8
+  },
9ae3a8
+  "PIIX3-xen": {
9ae3a8
+    "Name": "PIIX3-xen",
9ae3a8
+    "version_id": 3,
9ae3a8
+    "minimum_version_id": 2,
9ae3a8
+    "Description": {
9ae3a8
+      "name": "PIIX3",
9ae3a8
+      "version_id": 3,
9ae3a8
+      "minimum_version_id": 2,
9ae3a8
+      "Fields": [
9ae3a8
+        {
9ae3a8
+          "field": "dev",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1944,
9ae3a8
+          "Description": {
9ae3a8
+            "name": "PCIDevice",
9ae3a8
+            "version_id": 2,
9ae3a8
+            "minimum_version_id": 1,
9ae3a8
+            "Fields": [
9ae3a8
+              {
9ae3a8
+                "field": "version_id",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "config",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 256
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "irq_state",
9ae3a8
+                "version_id": 2,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 16
9ae3a8
+              }
9ae3a8
+            ]
9ae3a8
+          }
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "pci_irq_levels_vmstate",
9ae3a8
+          "version_id": 3,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        }
9ae3a8
+      ],
9ae3a8
+      "Subsections": [
9ae3a8
+        {
9ae3a8
+          "name": "PIIX3/rcr",
9ae3a8
+          "version_id": 1,
9ae3a8
+          "minimum_version_id": 1,
9ae3a8
+          "Fields": [
9ae3a8
+            {
9ae3a8
+              "field": "rcr",
9ae3a8
+              "version_id": 0,
9ae3a8
+              "field_exists": false,
9ae3a8
+              "size": 1
9ae3a8
+            }
9ae3a8
+          ]
9ae3a8
+        }
9ae3a8
+      ]
9ae3a8
+    }
9ae3a8
+  },
9ae3a8
+  "tpci200": {
9ae3a8
+    "Name": "tpci200",
9ae3a8
+    "version_id": 1,
9ae3a8
+    "minimum_version_id": 1,
9ae3a8
+    "Description": {
9ae3a8
+      "name": "tpci200",
9ae3a8
+      "version_id": 1,
9ae3a8
+      "minimum_version_id": 1,
9ae3a8
+      "Fields": [
9ae3a8
+        {
9ae3a8
+          "field": "dev",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1944,
9ae3a8
+          "Description": {
9ae3a8
+            "name": "PCIDevice",
9ae3a8
+            "version_id": 2,
9ae3a8
+            "minimum_version_id": 1,
9ae3a8
+            "Fields": [
9ae3a8
+              {
9ae3a8
+                "field": "version_id",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "config",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 256
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "irq_state",
9ae3a8
+                "version_id": 2,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 16
9ae3a8
+              }
9ae3a8
+            ]
9ae3a8
+          }
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "big_endian",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "ctrl",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "status",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 2
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "int_set",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1
9ae3a8
+        }
9ae3a8
+      ]
9ae3a8
+    }
9ae3a8
+  },
9ae3a8
+  "SUNW,fdtwo": {
9ae3a8
+    "Name": "SUNW,fdtwo",
9ae3a8
+    "version_id": 2,
9ae3a8
+    "minimum_version_id": 2,
9ae3a8
+    "Description": {
9ae3a8
+      "name": "fdc",
9ae3a8
+      "version_id": 2,
9ae3a8
+      "minimum_version_id": 2,
9ae3a8
+      "Fields": [
9ae3a8
+        {
9ae3a8
+          "field": "state",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 360,
9ae3a8
+          "Description": {
9ae3a8
+            "name": "fdc",
9ae3a8
+            "version_id": 2,
9ae3a8
+            "minimum_version_id": 2,
9ae3a8
+            "Fields": [
9ae3a8
+              {
9ae3a8
+                "field": "sra",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "srb",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "dor_vmstate",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "tdr",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "dsr",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "msr",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "status0",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "status1",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "status2",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "fifo",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "data_pos",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "data_len",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "data_state",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "data_dir",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "eot",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "timer0",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "timer1",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "precomp_trk",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "config",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "lock",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "pwrd",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "num_floppies",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "drives",
9ae3a8
+                "version_id": 1,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 40,
9ae3a8
+                "Description": {
9ae3a8
+                  "name": "fdrive",
9ae3a8
+                  "version_id": 1,
9ae3a8
+                  "minimum_version_id": 1,
9ae3a8
+                  "Fields": [
9ae3a8
+                    {
9ae3a8
+                      "field": "head",
9ae3a8
+                      "version_id": 0,
9ae3a8
+                      "field_exists": false,
9ae3a8
+                      "size": 1
9ae3a8
+                    },
9ae3a8
+                    {
9ae3a8
+                      "field": "track",
9ae3a8
+                      "version_id": 0,
9ae3a8
+                      "field_exists": false,
9ae3a8
+                      "size": 1
9ae3a8
+                    },
9ae3a8
+                    {
9ae3a8
+                      "field": "sect",
9ae3a8
+                      "version_id": 0,
9ae3a8
+                      "field_exists": false,
9ae3a8
+                      "size": 1
9ae3a8
+                    }
9ae3a8
+                  ],
9ae3a8
+                  "Subsections": [
9ae3a8
+                    {
9ae3a8
+                      "name": "fdrive/media_changed",
9ae3a8
+                      "version_id": 1,
9ae3a8
+                      "minimum_version_id": 1,
9ae3a8
+                      "Fields": [
9ae3a8
+                        {
9ae3a8
+                          "field": "media_changed",
9ae3a8
+                          "version_id": 0,
9ae3a8
+                          "field_exists": false,
9ae3a8
+                          "size": 1
9ae3a8
+                        }
9ae3a8
+                      ]
9ae3a8
+                    },
9ae3a8
+                    {
9ae3a8
+                      "name": "fdrive/media_rate",
9ae3a8
+                      "version_id": 1,
9ae3a8
+                      "minimum_version_id": 1,
9ae3a8
+                      "Fields": [
9ae3a8
+                        {
9ae3a8
+                          "field": "media_rate",
9ae3a8
+                          "version_id": 0,
9ae3a8
+                          "field_exists": false,
9ae3a8
+                          "size": 1
9ae3a8
+                        }
9ae3a8
+                      ]
9ae3a8
+                    }
9ae3a8
+                  ]
9ae3a8
+                }
9ae3a8
+              }
9ae3a8
+            ]
9ae3a8
+          }
9ae3a8
+        }
9ae3a8
+      ]
9ae3a8
+    }
9ae3a8
+  },
9ae3a8
+  "usb-kbd": {
9ae3a8
+    "Name": "usb-kbd",
9ae3a8
+    "version_id": 1,
9ae3a8
+    "minimum_version_id": 1,
9ae3a8
+    "Description": {
9ae3a8
+      "name": "usb-kbd",
9ae3a8
+      "version_id": 1,
9ae3a8
+      "minimum_version_id": 1,
9ae3a8
+      "Fields": [
9ae3a8
+        {
9ae3a8
+          "field": "dev",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4352,
9ae3a8
+          "Description": {
9ae3a8
+            "name": "USBDevice",
9ae3a8
+            "version_id": 1,
9ae3a8
+            "minimum_version_id": 1,
9ae3a8
+            "Fields": [
9ae3a8
+              {
9ae3a8
+                "field": "addr",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "state",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "remote_wakeup",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "setup_state",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "setup_len",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "setup_index",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "setup_buf",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              }
9ae3a8
+            ]
9ae3a8
+          }
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "kbd.keycodes",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "head",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "n",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "kbd.modifiers",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 2
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "kbd.leds",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "kbd.key",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "kbd.keys",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "protocol",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "idle",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1
9ae3a8
+        }
9ae3a8
+      ]
9ae3a8
+    }
9ae3a8
+  }
9ae3a8
+}
9ae3a8
diff --git a/tests/vmstate-static-checker-data/dump2.json b/tests/vmstate-static-checker-data/dump2.json
9ae3a8
new file mode 100644
9ae3a8
index 0000000..44200fb
9ae3a8
--- /dev/null
9ae3a8
+++ b/tests/vmstate-static-checker-data/dump2.json
9ae3a8
@@ -0,0 +1,1163 @@
9ae3a8
+{
9ae3a8
+  "vmschkmachine": {
9ae3a8
+    "Name": "pc-i440fx-2.1"
9ae3a8
+  },
9ae3a8
+  "fw_cfg": {
9ae3a8
+    "Name": "fw_cfg",
9ae3a8
+    "version_id": 2,
9ae3a8
+    "minimum_version_id": 1,
9ae3a8
+    "Description": {
9ae3a8
+      "name": "fw_cfg",
9ae3a8
+      "version_id": 2,
9ae3a8
+      "minimum_version_id": 1,
9ae3a8
+      "Fields": [
9ae3a8
+        {
9ae3a8
+          "field": "cur_entry",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 2
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "cur_offset",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": true,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "cur_offset",
9ae3a8
+          "version_id": 2,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        }
9ae3a8
+      ]
9ae3a8
+    }
9ae3a8
+  },
9ae3a8
+  "fusbh200-ehci-usb": {
9ae3a8
+    "Name": "fusbh200-ehci-usb",
9ae3a8
+    "version_id": 2,
9ae3a8
+    "minimum_version_id": 1,
9ae3a8
+    "Description": {
9ae3a8
+      "name": "ehci-sysbus",
9ae3a8
+      "version_id": 2,
9ae3a8
+      "minimum_version_id": 1,
9ae3a8
+      "Fields": [
9ae3a8
+        {
9ae3a8
+          "field": "ehci",
9ae3a8
+          "version_id": 2,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1880,
9ae3a8
+          "Description": {
9ae3a8
+            "name": "ehci-core",
9ae3a8
+            "version_id": 2,
9ae3a8
+            "minimum_version_id": 1,
9ae3a8
+            "Fields": [
9ae3a8
+              {
9ae3a8
+                "field": "usbcmd",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "usbsts",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "usbsts_pending",
9ae3a8
+                "version_id": 2,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "usbsts_frindex",
9ae3a8
+                "version_id": 2,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "usbintr",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "frindex",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "ctrldssegment",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "periodiclistbase",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "asynclistaddr",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "configflag",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "portsc[0]",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "portsc[1]",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "portsc[2]",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "portsc[3]",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "portsc[4]",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "portsc[5]",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "frame_timer",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 8
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "last_run_ns",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 8
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "async_stepdown",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "astate",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "pstate",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "a_fetch_addr",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "p_fetch_addr",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              }
9ae3a8
+            ]
9ae3a8
+          }
9ae3a8
+        }
9ae3a8
+      ]
9ae3a8
+    }
9ae3a8
+  },
9ae3a8
+  "pci-serial-4x": {
9ae3a8
+    "Name": "pci-serial-4x",
9ae3a8
+    "version_id": 1,
9ae3a8
+    "minimum_version_id": 1,
9ae3a8
+    "Description": {
9ae3a8
+      "name": "pci-serial-multi",
9ae3a8
+      "version_id": 1,
9ae3a8
+      "minimum_version_id": 1,
9ae3a8
+      "Fields": [
9ae3a8
+        {
9ae3a8
+          "field": "dev",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1944,
9ae3a8
+          "Description": {
9ae3a8
+            "name": "PCIDevice",
9ae3a8
+            "version_id": 2,
9ae3a8
+            "minimum_version_id": 1,
9ae3a8
+            "Fields": [
9ae3a8
+              {
9ae3a8
+                "field": "version_id",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "config",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 256
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "irq_state",
9ae3a8
+                "version_id": 2,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 16
9ae3a8
+              }
9ae3a8
+            ]
9ae3a8
+          }
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "state",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 368,
9ae3a8
+          "Description": {
9ae3a8
+            "name": "serial",
9ae3a8
+            "version_id": 3,
9ae3a8
+            "minimum_version_id": 2,
9ae3a8
+            "Fields": [
9ae3a8
+              {
9ae3a8
+                "field": "divider",
9ae3a8
+                "version_id": 2,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 2
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "rbr",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "ier",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "iir",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "lcr",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "mcr",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "lsr",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "msr",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "scr",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "fcr_vmstate",
9ae3a8
+                "version_id": 3,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              }
9ae3a8
+            ]
9ae3a8
+          }
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "level",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        }
9ae3a8
+      ]
9ae3a8
+    }
9ae3a8
+  },
9ae3a8
+  "intel-hda-generic": {
9ae3a8
+    "Name": "intel-hda-generic",
9ae3a8
+    "version_id": 1,
9ae3a8
+    "minimum_version_id": 0,
9ae3a8
+    "Description": {
9ae3a8
+      "name": "intel-hda",
9ae3a8
+      "version_id": 1,
9ae3a8
+      "minimum_version_id": 0,
9ae3a8
+      "Fields": [
9ae3a8
+        {
9ae3a8
+          "field": "pci",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1944,
9ae3a8
+          "Description": {
9ae3a8
+            "name": "PCIDevice",
9ae3a8
+            "version_id": 2,
9ae3a8
+            "minimum_version_id": 1,
9ae3a8
+            "Fields": [
9ae3a8
+              {
9ae3a8
+                "field": "version_id",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "config",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 256
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "irq_state",
9ae3a8
+                "version_id": 2,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 16
9ae3a8
+              }
9ae3a8
+            ]
9ae3a8
+          }
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "g_ctl",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "wake_en",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "state_sts",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "int_ctl",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "int_sts",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "wall_clk",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "corb_lbase",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "corb_ubase",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "corb_rp",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "corb_wp",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "corb_ctl",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "corb_sts",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "corb_size",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "rirb_lbase",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "rirb_ubase",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "rirb_wp",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "rirb_cnt",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "rirb_ctl",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "rirb_sts",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "rirb_size",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "dp_lbase",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "dp_ubase",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "icw",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "irr",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "ics",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "st",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 56,
9ae3a8
+          "Description": {
9ae3a8
+            "name": "intel-hda-stream",
9ae3a8
+            "version_id": 1,
9ae3a8
+            "minimum_version_id": 0,
9ae3a8
+            "Fields": [
9ae3a8
+              {
9ae3a8
+                "field": "ctl",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "lpib",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "cbl",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "lvi",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "fmt",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "bdlp_lbase",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "bdlp_ubase",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              }
9ae3a8
+            ]
9ae3a8
+          }
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "rirb_count",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "wall_base_ns",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 8
9ae3a8
+        }
9ae3a8
+      ]
9ae3a8
+    }
9ae3a8
+  },
9ae3a8
+  "cfi.pflash01": {
9ae3a8
+    "Name": "cfi.pflash01",
9ae3a8
+    "version_id": 1,
9ae3a8
+    "minimum_version_id": 1,
9ae3a8
+    "Description": {
9ae3a8
+      "name": "pflash_cfi01",
9ae3a8
+      "version_id": 1,
9ae3a8
+      "minimum_version_id": 1,
9ae3a8
+      "Fields": [
9ae3a8
+        {
9ae3a8
+          "field": "wcycle",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "cmd",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "status",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "counter",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 8
9ae3a8
+        }
9ae3a8
+      ]
9ae3a8
+    }
9ae3a8
+  },
9ae3a8
+  "megasas": {
9ae3a8
+    "Name": "megasas",
9ae3a8
+    "version_id": 0,
9ae3a8
+    "minimum_version_id": 0,
9ae3a8
+    "Description": {
9ae3a8
+      "name": "megasas",
9ae3a8
+      "version_id": 0,
9ae3a8
+      "minimum_version_id": 0,
9ae3a8
+      "Fields": [
9ae3a8
+        {
9ae3a8
+          "field": "parent_obj",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1944,
9ae3a8
+          "Description": {
9ae3a8
+            "name": "PCIDevice",
9ae3a8
+            "version_id": 2,
9ae3a8
+            "minimum_version_id": 1,
9ae3a8
+            "Fields": [
9ae3a8
+              {
9ae3a8
+                "field": "version_id",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "config",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 256
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "irq_state",
9ae3a8
+                "version_id": 2,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 16
9ae3a8
+              }
9ae3a8
+            ]
9ae3a8
+          }
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "fw_state",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "intr_mask",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "doorbell",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "reply_queue_pa",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 8
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "consumer_pa",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 8
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "producer_pa",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 8
9ae3a8
+        }
9ae3a8
+      ]
9ae3a8
+    }
9ae3a8
+  },
9ae3a8
+  "PIIX3-xen": {
9ae3a8
+    "Name": "PIIX3-xen",
9ae3a8
+    "version_id": 3,
9ae3a8
+    "minimum_version_id": 2,
9ae3a8
+    "Description": {
9ae3a8
+      "name": "PIIX3",
9ae3a8
+      "version_id": 3,
9ae3a8
+      "minimum_version_id": 2,
9ae3a8
+      "Fields": [
9ae3a8
+        {
9ae3a8
+          "field": "dev",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1944,
9ae3a8
+          "Description": {
9ae3a8
+            "name": "PCIDevice",
9ae3a8
+            "version_id": 2,
9ae3a8
+            "minimum_version_id": 1,
9ae3a8
+            "Fields": [
9ae3a8
+              {
9ae3a8
+                "field": "version_id",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "config",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 256
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "irq_state",
9ae3a8
+                "version_id": 2,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 16
9ae3a8
+              }
9ae3a8
+            ]
9ae3a8
+          }
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "pci_irq_levels_vmstate",
9ae3a8
+          "version_id": 3,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 4
9ae3a8
+        }
9ae3a8
+      ],
9ae3a8
+      "Subsections": [
9ae3a8
+        {
9ae3a8
+          "name": "PIIX3/rcr",
9ae3a8
+          "version_id": 1,
9ae3a8
+          "minimum_version_id": 1,
9ae3a8
+          "Fields": [
9ae3a8
+            {
9ae3a8
+              "field": "rcr",
9ae3a8
+              "version_id": 0,
9ae3a8
+              "field_exists": false,
9ae3a8
+              "size": 1
9ae3a8
+            }
9ae3a8
+          ]
9ae3a8
+        }
9ae3a8
+      ]
9ae3a8
+    }
9ae3a8
+  },
9ae3a8
+  "tpci200": {
9ae3a8
+    "Name": "tpci200",
9ae3a8
+    "version_id": 1,
9ae3a8
+    "minimum_version_id": 1,
9ae3a8
+    "Description": {
9ae3a8
+      "name": "tpci200",
9ae3a8
+      "version_id": 1,
9ae3a8
+      "minimum_version_id": 1,
9ae3a8
+      "Fields": [
9ae3a8
+        {
9ae3a8
+          "field": "dev",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1944,
9ae3a8
+          "Description": {
9ae3a8
+            "name": "PCIDevice",
9ae3a8
+            "version_id": 2,
9ae3a8
+            "minimum_version_id": 1,
9ae3a8
+            "Fields": [
9ae3a8
+              {
9ae3a8
+                "field": "version_id",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 4
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "config",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 256
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "irq_state",
9ae3a8
+                "version_id": 2,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 16
9ae3a8
+              }
9ae3a8
+            ]
9ae3a8
+          }
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "big_endian",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "ctrl",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "status",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 2
9ae3a8
+        },
9ae3a8
+        {
9ae3a8
+          "field": "int_set",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 1
9ae3a8
+        }
9ae3a8
+      ]
9ae3a8
+    }
9ae3a8
+  },
9ae3a8
+  "SUNW,fdtwo": {
9ae3a8
+    "Name": "SUNW,fdtwo",
9ae3a8
+    "version_id": 2,
9ae3a8
+    "minimum_version_id": 2,
9ae3a8
+    "Description": {
9ae3a8
+      "name": "fdc",
9ae3a8
+      "version_id": 2,
9ae3a8
+      "minimum_version_id": 2,
9ae3a8
+      "Fields": [
9ae3a8
+        {
9ae3a8
+          "field": "state",
9ae3a8
+          "version_id": 0,
9ae3a8
+          "field_exists": false,
9ae3a8
+          "size": 360,
9ae3a8
+          "Description": {
9ae3a8
+            "name": "fdc",
9ae3a8
+            "version_id": 2,
9ae3a8
+            "minimum_version_id": 2,
9ae3a8
+            "Fields": [
9ae3a8
+              {
9ae3a8
+                "field": "sra",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "srb",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "dor_vmstate",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "tdr",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {
9ae3a8
+                "field": "dsr",
9ae3a8
+                "version_id": 0,
9ae3a8
+                "field_exists": false,
9ae3a8
+                "size": 1
9ae3a8
+              },
9ae3a8
+              {