diff --git a/Add-bios-path-for-loongarch.patch b/Add-bios-path-for-loongarch.patch deleted file mode 100644 index 05ee8ff11df853eabbb2897174d2ea1958363c5b..0000000000000000000000000000000000000000 --- a/Add-bios-path-for-loongarch.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 09616f083df506ad60100c16b5d4a9cdd9b40b57 Mon Sep 17 00:00:00 2001 -From: lixianglai -Date: Thu, 17 Aug 2023 04:28:13 -0400 -Subject: [PATCH 5/5] Add bios path for loongarch - -Add a default BIOS file name for Loongarch. - -Signed-off-by: lixianglai ---- - src/qemu/qemu.conf.in | 3 ++- - src/qemu/qemu_conf.c | 3 ++- - src/qemu/test_libvirtd_qemu.aug.in | 1 + - 3 files changed, 5 insertions(+), 2 deletions(-) - -diff --git a/src/qemu/qemu.conf.in b/src/qemu/qemu.conf.in -index 3895d42..44c1696 100644 ---- a/src/qemu/qemu.conf.in -+++ b/src/qemu/qemu.conf.in -@@ -840,7 +840,8 @@ - # "/usr/share/OVMF/OVMF_CODE.fd:/usr/share/OVMF/OVMF_VARS.fd", - # "/usr/share/OVMF/OVMF_CODE.secboot.fd:/usr/share/OVMF/OVMF_VARS.fd", - # "/usr/share/AAVMF/AAVMF_CODE.fd:/usr/share/AAVMF/AAVMF_VARS.fd", --# "/usr/share/AAVMF/AAVMF32_CODE.fd:/usr/share/AAVMF/AAVMF32_VARS.fd" -+# "/usr/share/AAVMF/AAVMF32_CODE.fd:/usr/share/AAVMF/AAVMF32_VARS.fd", -+# "/usr/share/qemu/loongarch_bios.bin:/usr/share/qemu/loongarch_vars.bin" - #] - - # The backend to use for handling stdout/stderr output from -diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c -index d9460d8..102c2ad 100644 ---- a/src/qemu/qemu_conf.c -+++ b/src/qemu/qemu_conf.c -@@ -93,7 +93,8 @@ VIR_ONCE_GLOBAL_INIT(virQEMUConfig); - "/usr/share/OVMF/OVMF_CODE.fd:/usr/share/OVMF/OVMF_VARS.fd:" \ - "/usr/share/OVMF/OVMF_CODE.secboot.fd:/usr/share/OVMF/OVMF_VARS.fd:" \ - "/usr/share/AAVMF/AAVMF_CODE.fd:/usr/share/AAVMF/AAVMF_VARS.fd:" \ -- "/usr/share/AAVMF/AAVMF32_CODE.fd:/usr/share/AAVMF/AAVMF32_VARS.fd" -+ "/usr/share/AAVMF/AAVMF32_CODE.fd:/usr/share/AAVMF/AAVMF32_VARS.fd:" \ -+ "/usr/share/qemu/loongarch_bios.bin:/usr/share/qemu/loongarch_vars.bin" - #endif - - -diff --git a/src/qemu/test_libvirtd_qemu.aug.in b/src/qemu/test_libvirtd_qemu.aug.in -index 1dbd692..eb763dc 100644 ---- a/src/qemu/test_libvirtd_qemu.aug.in -+++ b/src/qemu/test_libvirtd_qemu.aug.in -@@ -99,6 +99,7 @@ module Test_libvirtd_qemu = - { "2" = "/usr/share/OVMF/OVMF_CODE.secboot.fd:/usr/share/OVMF/OVMF_VARS.fd" } - { "3" = "/usr/share/AAVMF/AAVMF_CODE.fd:/usr/share/AAVMF/AAVMF_VARS.fd" } - { "4" = "/usr/share/AAVMF/AAVMF32_CODE.fd:/usr/share/AAVMF/AAVMF32_VARS.fd" } -+ { "5" = "/usr/share/qemu/loongarch_bios.bin:/usr/share/qemu/loongarch_vars.bin" } - } - { "stdio_handler" = "logd" } - { "gluster_debug_level" = "9" } --- -2.27.0 - diff --git a/Add-loongarch-cpu-model-and-vendor-info.patch b/Add-loongarch-cpu-model-and-vendor-info.patch deleted file mode 100644 index 1409bdaceb79a26066a59c0f3670ec9d9fa9d2c5..0000000000000000000000000000000000000000 --- a/Add-loongarch-cpu-model-and-vendor-info.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 3d80718fb56a2e1495785f9d1a24c0f1347cfaae Mon Sep 17 00:00:00 2001 -From: lixianglai -Date: Fri, 28 Jul 2023 02:51:11 -0400 -Subject: [PATCH 2/5] Add loongarch cpu model and vendor info - -Define loongarch cpu model type and vendor id in -cpu_map/loongarch.xml - -Signed-off-by: lixianglai ---- - src/cpu_map/index.xml | 5 +++++ - src/cpu_map/loongarch_3a5000.xml | 6 ++++++ - src/cpu_map/loongarch_vendors.xml | 3 +++ - src/cpu_map/meson.build | 2 ++ - 4 files changed, 16 insertions(+) - create mode 100644 src/cpu_map/loongarch_3a5000.xml - create mode 100644 src/cpu_map/loongarch_vendors.xml - -diff --git a/src/cpu_map/index.xml b/src/cpu_map/index.xml -index deae925..d92fe0c 100644 ---- a/src/cpu_map/index.xml -+++ b/src/cpu_map/index.xml -@@ -117,4 +117,9 @@ - - - -+ -+ -+ -+ -+ - -diff --git a/src/cpu_map/loongarch_3a5000.xml b/src/cpu_map/loongarch_3a5000.xml -new file mode 100644 -index 0000000..f6fe338 ---- /dev/null -+++ b/src/cpu_map/loongarch_3a5000.xml -@@ -0,0 +1,6 @@ -+ -+ -+ -+ -+ -+ -diff --git a/src/cpu_map/loongarch_vendors.xml b/src/cpu_map/loongarch_vendors.xml -new file mode 100644 -index 0000000..c744654 ---- /dev/null -+++ b/src/cpu_map/loongarch_vendors.xml -@@ -0,0 +1,3 @@ -+ -+ -+ -diff --git a/src/cpu_map/meson.build b/src/cpu_map/meson.build -index 55c3703..79b2b39 100644 ---- a/src/cpu_map/meson.build -+++ b/src/cpu_map/meson.build -@@ -82,6 +82,8 @@ cpumap_data = [ - 'x86_vendors.xml', - 'x86_Westmere-IBRS.xml', - 'x86_Westmere.xml', -+ 'loongarch_vendors.xml', -+ 'loongarch_3a5000.xml', - ] - - install_data(cpumap_data, install_dir: pkgdatadir / 'cpu_map') --- -2.27.0 - diff --git a/Add-loongarch-cpu-support.patch b/Add-loongarch-cpu-support.patch index 525021753d206f847121e93e5c871eb747746938..d3e5a9568665bd57e8f4c1c0dfa56245dc1a336e 100644 --- a/Add-loongarch-cpu-support.patch +++ b/Add-loongarch-cpu-support.patch @@ -1,56 +1,41 @@ -From 8f0ce843cfecb4786ac527434cee15e8f36aff4d Mon Sep 17 00:00:00 2001 -From: lixianglai +From 60f52df9fae0e9b551dc2ad375e20c4f9f8bee7a Mon Sep 17 00:00:00 2001 +From: xianglai li Date: Fri, 28 Jul 2023 02:45:55 -0400 -Subject: [PATCH 1/5] Add loongarch cpu support +Subject: [PATCH 1/4] Add loongarch cpu support -Add loongarch cpu support: Define new cpu type 'loongarch64' +Add loongarch cpu support, Define new cpu type 'loongarch64' and implement it's driver functions. -Signed-off-by: lixianglai +Signed-off-by: "Xianglai Li" +Signed-off-by: Xianglai Li --- - po/POTFILES | 1 + - src/conf/schemas/basictypes.rng | 1 + - src/cpu/cpu.c | 2 + - src/cpu/cpu.h | 2 + - src/cpu/cpu_loongarch.c | 745 ++++++++++++++++++++++++++++++++ - src/cpu/cpu_loongarch.h | 25 ++ - src/cpu/cpu_loongarch_data.h | 37 ++ - src/cpu/meson.build | 1 + - src/qemu/qemu_capabilities.c | 1 + - src/qemu/qemu_domain.c | 4 + - src/util/virarch.c | 2 + - src/util/virarch.h | 4 + - 12 files changed, 825 insertions(+) + src/conf/schemas/basictypes.rng | 1 + + src/cpu/cpu.c | 2 ++ + src/cpu/cpu_loongarch.c | 58 +++++++++++++++++++++++++++++++++ + src/cpu/cpu_loongarch.h | 25 ++++++++++++++ + src/cpu/meson.build | 1 + + src/qemu/qemu_capabilities.c | 11 ++++--- + src/qemu/qemu_domain.c | 1 + + src/util/virarch.c | 11 ++++--- + src/util/virarch.h | 13 +++++--- + 9 files changed, 108 insertions(+), 15 deletions(-) create mode 100644 src/cpu/cpu_loongarch.c create mode 100644 src/cpu/cpu_loongarch.h - create mode 100644 src/cpu/cpu_loongarch_data.h -diff --git a/po/POTFILES b/po/POTFILES -index b122f02..ad74296 100644 ---- a/po/POTFILES -+++ b/po/POTFILES -@@ -70,6 +70,7 @@ src/cpu/cpu.c - src/cpu/cpu_arm.c - src/cpu/cpu_map.c - src/cpu/cpu_ppc64.c -+src/cpu/cpu_loongarch.c - src/cpu/cpu_riscv64.c - src/cpu/cpu_s390.c - src/cpu/cpu_x86.c diff --git a/src/conf/schemas/basictypes.rng b/src/conf/schemas/basictypes.rng -index 2d6f1a2..053206d 100644 +index 26eb538077..f117f19d33 100644 --- a/src/conf/schemas/basictypes.rng +++ b/src/conf/schemas/basictypes.rng -@@ -470,6 +470,7 @@ - x86_64 - xtensa - xtensaeb +@@ -444,6 +444,7 @@ + i686 + ia64 + lm32 + loongarch64 - - - + m68k + microblaze + microblazeel diff --git a/src/cpu/cpu.c b/src/cpu/cpu.c -index bb5737e..1741a34 100644 +index bc43aa4e93..1e7c879ca5 100644 --- a/src/cpu/cpu.c +++ b/src/cpu/cpu.c @@ -27,6 +27,7 @@ @@ -69,36 +54,16 @@ index bb5737e..1741a34 100644 }; -diff --git a/src/cpu/cpu.h b/src/cpu/cpu.h -index a4cdb37..9ec0a10 100644 ---- a/src/cpu/cpu.h -+++ b/src/cpu/cpu.h -@@ -27,6 +27,7 @@ - #include "cpu_x86_data.h" - #include "cpu_ppc64_data.h" - #include "cpu_arm_data.h" -+#include "cpu_loongarch_data.h" - - - typedef struct _virCPUData virCPUData; -@@ -36,6 +37,7 @@ struct _virCPUData { - virCPUx86Data x86; - virCPUppc64Data ppc64; - virCPUarmData arm; -+ virCPULoongArchData loongarch; - /* generic driver needs no data */ - } data; - }; diff --git a/src/cpu/cpu_loongarch.c b/src/cpu/cpu_loongarch.c new file mode 100644 -index 0000000..a6462dd +index 0000000000..78d9941320 --- /dev/null +++ b/src/cpu/cpu_loongarch.c -@@ -0,0 +1,745 @@ +@@ -0,0 +1,58 @@ +/* + * cpu_loongarch.c: CPU driver for 64-bit LOONGARCH CPUs + * -+ * Copyright (C) 2023 Loongson Technology. ++ * Copyright (C) 2024 Loongson Technology. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public @@ -116,21 +81,8 @@ index 0000000..a6462dd + */ + +#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include +#include "virlog.h" -+#include "viralloc.h" +#include "cpu.h" -+#include "virstring.h" -+#include "cpu_map.h" -+#include "virbuffer.h" + +#define VIR_FROM_THIS VIR_FROM_CPU + @@ -138,718 +90,44 @@ index 0000000..a6462dd + +static const virArch archs[] = { VIR_ARCH_LOONGARCH64 }; + -+typedef struct _virCPULoongArchVendor virCPULoongArchVendor; -+struct _virCPULoongArchVendor { -+ char *name; -+}; -+ -+typedef struct _virCPULoongArchModel virCPULoongArchModel; -+struct _virCPULoongArchModel { -+ char *name; -+ const virCPULoongArchVendor *vendor; -+ virCPULoongArchData data; -+}; -+ -+typedef struct _virCPULoongArchMap virCPULoongArchMap; -+struct _virCPULoongArchMap { -+ size_t nvendors; -+ virCPULoongArchVendor **vendors; -+ size_t nmodels; -+ virCPULoongArchModel **models; -+}; -+ -+static void -+virCPULoongArchDataClear(virCPULoongArchData *data) -+{ -+ if (!data) -+ return; -+ -+ VIR_FREE(data->prid); -+} -+ -+static int -+virCPULoongArchDataCopy(virCPULoongArchData *dst, -+ const virCPULoongArchData *src) -+{ -+ size_t i; -+ -+ dst->prid = g_new0(virCPULoongArchPrid, src->len); -+ if (!dst->prid) -+ return -1; -+ -+ dst->len = src->len; -+ -+ for (i = 0; i < src->len; i++) { -+ dst->prid[i].value = src->prid[i].value; -+ dst->prid[i].mask = src->prid[i].mask; -+ } -+ -+ return 0; -+} -+ -+static void -+virCPULoongArchVendorFree(virCPULoongArchVendor *vendor) -+{ -+ if (!vendor) -+ return; -+ -+ VIR_FREE(vendor->name); -+ VIR_FREE(vendor); -+} -+ -+static virCPULoongArchVendor * -+virCPULoongArchVendorFind(const virCPULoongArchMap *map, -+ const char *name) -+{ -+ size_t i; -+ -+ for (i = 0; i < map->nvendors; i++) { -+ if (STREQ(map->vendors[i]->name, name)) -+ return map->vendors[i]; -+ } -+ -+ return NULL; -+} -+ -+static void -+virCPULoongArchModelFree(virCPULoongArchModel *model) -+{ -+ if (!model) -+ return; -+ -+ virCPULoongArchDataClear(&model->data); -+ VIR_FREE(model->name); -+ VIR_FREE(model); -+} -+ -+static virCPULoongArchModel * -+virCPULoongArchModelCopy(const virCPULoongArchModel *model) -+{ -+ virCPULoongArchModel *copy; -+ -+ copy = g_new0(virCPULoongArchModel, 1); -+ if (!copy) -+ goto cleanup; -+ -+ copy->name = g_strdup(model->name); -+ -+ if (virCPULoongArchDataCopy(©->data, &model->data) < 0) -+ goto cleanup; -+ -+ copy->vendor = model->vendor; -+ -+ return copy; -+ -+ cleanup: -+ virCPULoongArchModelFree(copy); -+ return NULL; -+} -+ -+static virCPULoongArchModel * -+virCPULoongArchModelFind(const virCPULoongArchMap *map, -+ const char *name) -+{ -+ size_t i; -+ -+ for (i = 0; i < map->nmodels; i++) { -+ if (STREQ(map->models[i]->name, name)) -+ return map->models[i]; -+ } -+ -+ return NULL; -+} -+ -+static virCPULoongArchModel * -+virCPULoongArchModelFindPrid(const virCPULoongArchMap *map, -+ uint32_t prid) -+{ -+ size_t i; -+ size_t j; -+ -+ for (i = 0; i < map->nmodels; i++) { -+ virCPULoongArchModel *model = map->models[i]; -+ for (j = 0; j < model->data.len; j++) { -+ if ((prid & model->data.prid[j].mask) == model->data.prid[j].value) -+ return model; -+ } -+ } -+ -+ return NULL; -+} -+ -+static virCPULoongArchModel * -+virCPULoongArchModelFromCPU(const virCPUDef *cpu, -+ const virCPULoongArchMap *map) -+{ -+ virCPULoongArchModel *model; -+ -+ if (!cpu->model) { -+ virReportError(VIR_ERR_INVALID_ARG, "%s", -+ _("no CPU model specified")); -+ return NULL; -+ } -+ -+ if (!(model = virCPULoongArchModelFind(map, cpu->model))) { -+ virReportError(VIR_ERR_INTERNAL_ERROR, -+ _("Unknown CPU model %1$s"), cpu->model); -+ return NULL; -+ } -+ -+ return virCPULoongArchModelCopy(model); -+} -+ -+static void -+virCPULoongArchMapFree(virCPULoongArchMap *map) -+{ -+ size_t i; -+ -+ if (!map) -+ return; -+ -+ for (i = 0; i < map->nmodels; i++) -+ virCPULoongArchModelFree(map->models[i]); -+ VIR_FREE(map->models); -+ -+ for (i = 0; i < map->nvendors; i++) -+ virCPULoongArchVendorFree(map->vendors[i]); -+ VIR_FREE(map->vendors); -+ -+ VIR_FREE(map); -+} -+ -+static int -+virCPULoongArchVendorParse(xmlXPathContextPtr ctxt ATTRIBUTE_UNUSED, -+ const char *name, -+ void *data) -+{ -+ virCPULoongArchMap *map = data; -+ virCPULoongArchVendor *vendor; -+ int ret = -1; -+ -+ vendor = g_new0(virCPULoongArchVendor, 1); -+ if (!vendor) -+ return ret; -+ vendor->name = g_strdup(name); -+ -+ if (virCPULoongArchVendorFind(map, vendor->name)) { -+ virReportError(VIR_ERR_INTERNAL_ERROR, -+ _("CPU vendor %1$s already defined"), vendor->name); -+ goto cleanup; -+ } -+ -+ VIR_APPEND_ELEMENT(map->vendors, map->nvendors, vendor); -+ -+ ret = 0; -+ -+ cleanup: -+ virCPULoongArchVendorFree(vendor); -+ return ret; -+} -+ -+static int -+virCPULoongArchModelParse(xmlXPathContextPtr ctxt, -+ const char *name, -+ void *data) -+{ -+ virCPULoongArchMap *map = data; -+ virCPULoongArchModel *model; -+ xmlNodePtr *nodes = NULL; -+ char *vendor = NULL; -+ uint32_t prid; -+ size_t i; -+ int n; -+ int ret = -1; -+ -+ model = g_new0(virCPULoongArchModel, 1); -+ if (!model) -+ goto cleanup; -+ -+ model->name = g_strdup(name); -+ -+ if (virCPULoongArchModelFind(map, model->name)) { -+ virReportError(VIR_ERR_INTERNAL_ERROR, -+ _("CPU model %1$s already defined"), model->name); -+ goto cleanup; -+ } -+ -+ if (virXPathBoolean("boolean(./vendor)", ctxt)) { -+ vendor = virXPathString("string(./vendor/@name)", ctxt); -+ if (!vendor) { -+ virReportError(VIR_ERR_INTERNAL_ERROR, -+ _("Invalid vendor element in CPU model %1$s"), -+ model->name); -+ goto cleanup; -+ } -+ -+ if (!(model->vendor = virCPULoongArchVendorFind(map, vendor))) { -+ virReportError(VIR_ERR_INTERNAL_ERROR, -+ _("Unknown vendor %1$s referenced by CPU model %2$s"), -+ vendor, model->name); -+ goto cleanup; -+ } -+ } -+ -+ if ((n = virXPathNodeSet("./prid", ctxt, &nodes)) <= 0) { -+ virReportError(VIR_ERR_INTERNAL_ERROR, -+ _("Missing Prid information for CPU model %1$s"), -+ model->name); -+ goto cleanup; -+ } -+ -+ model->data.prid = g_new0(virCPULoongArchPrid, n); -+ if (!model->data.prid) -+ goto cleanup; -+ -+ model->data.len = n; -+ -+ for (i = 0; i < n; i++) { -+ -+ if (virXMLPropUInt(nodes[i], "value", 16, VIR_XML_PROP_REQUIRED, -+ &prid) < 0) -+ { -+ virReportError(VIR_ERR_INTERNAL_ERROR, -+ _("Missing or invalid Prid value in CPU model %1$s"), -+ model->name); -+ goto cleanup; -+ } -+ model->data.prid[i].value = prid; -+ -+ if (virXMLPropUInt(nodes[i], "mask", 16, VIR_XML_PROP_REQUIRED, -+ &prid) < 0) -+ { -+ virReportError(VIR_ERR_INTERNAL_ERROR, -+ _("Missing or invalid PVR mask in CPU model %1$s"), -+ model->name); -+ goto cleanup; -+ } -+ model->data.prid[i].mask = prid; -+ } -+ -+ VIR_APPEND_ELEMENT(map->models, map->nmodels, model); -+ -+ ret = 0; -+ -+ cleanup: -+ virCPULoongArchModelFree(model); -+ VIR_FREE(vendor); -+ VIR_FREE(nodes); -+ return ret; -+} -+ -+static virCPULoongArchMap * -+virCPULoongArchLoadMap(void) -+{ -+ virCPULoongArchMap *map; -+ -+ map = g_new0(virCPULoongArchMap, 1); -+ if (!map) -+ goto cleanup; -+ -+ if (cpuMapLoad("loongarch64", virCPULoongArchVendorParse, NULL, -+ virCPULoongArchModelParse, map) < 0) -+ goto cleanup; -+ -+ return map; -+ -+ cleanup: -+ virCPULoongArchMapFree(map); -+ return NULL; -+} -+ -+static virCPUData * -+virCPULoongArchMakeCPUData(virArch arch, -+ virCPULoongArchData *data) -+{ -+ virCPUData * cpuData; -+ -+ cpuData = g_new0(virCPUData, 1); -+ if (!cpuData) -+ return NULL; -+ -+ cpuData->arch = arch; -+ -+ if (virCPULoongArchDataCopy(&cpuData->data.loongarch, data) < 0) -+ VIR_FREE(cpuData); -+ -+ return cpuData; -+} -+ -+static virCPUCompareResult -+virCPULoongArchCompute(virCPUDef *host, -+ const virCPUDef *other, -+ virCPUData **guestData, -+ char **message) -+{ -+ virCPULoongArchMap *map = NULL; -+ virCPULoongArchModel *host_model = NULL; -+ virCPULoongArchModel *guest_model = NULL; -+ virCPUDef *cpu = NULL; -+ virCPUCompareResult ret = VIR_CPU_COMPARE_ERROR; -+ virArch arch; -+ size_t i; -+ -+ /* Ensure existing configurations are handled correctly */ -+ if (!(cpu = virCPUDefCopy(other))) -+ goto cleanup; -+ -+ if (cpu->arch != VIR_ARCH_NONE) { -+ bool found = false; -+ -+ for (i = 0; i < G_N_ELEMENTS(archs); i++) { -+ if (archs[i] == cpu->arch) { -+ found = true; -+ break; -+ } -+ } -+ -+ if (!found) { -+ VIR_DEBUG("CPU arch %s does not match host arch", -+ virArchToString(cpu->arch)); -+ if (message) { -+ *message = g_strdup_printf(_("CPU arch %1$s does not match host arch"), -+ virArchToString(cpu->arch)); -+ } -+ ret = VIR_CPU_COMPARE_INCOMPATIBLE; -+ goto cleanup; -+ } -+ arch = cpu->arch; -+ } else { -+ arch = host->arch; -+ } -+ -+ if (cpu->vendor && -+ (!host->vendor || STRNEQ(cpu->vendor, host->vendor))) { -+ VIR_DEBUG("host CPU vendor does not match required CPU vendor %s", -+ cpu->vendor); -+ if (message) { -+ *message = g_strdup_printf(_("host CPU vendor does not match required " -+ "CPU vendor %s"), cpu->vendor); -+ } -+ ret = VIR_CPU_COMPARE_INCOMPATIBLE; -+ goto cleanup; -+ } -+ -+ if (!(map = virCPULoongArchLoadMap())) -+ goto cleanup; -+ -+ /* Host CPU information */ -+ if (!(host_model = virCPULoongArchModelFromCPU(host, map))) -+ goto cleanup; -+ -+ if (cpu->type == VIR_CPU_TYPE_GUEST) { -+ /* Guest CPU information */ -+ switch (cpu->mode) { -+ case VIR_CPU_MODE_HOST_MODEL: -+ case VIR_CPU_MODE_HOST_PASSTHROUGH: -+ /* host-model and host-passthrough: -+ * the guest CPU is the same as the host */ -+ guest_model = virCPULoongArchModelCopy(host_model); -+ break; -+ -+ case VIR_CPU_MODE_CUSTOM: -+ /* custom: -+ * look up guest CPU information */ -+ guest_model = virCPULoongArchModelFromCPU(cpu, map); -+ break; -+ } -+ } else { -+ /* Other host CPU information */ -+ guest_model = virCPULoongArchModelFromCPU(cpu, map); -+ } -+ -+ if (!guest_model) -+ goto cleanup; -+ -+ if (STRNEQ(guest_model->name, host_model->name)) { -+ VIR_DEBUG("host CPU model does not match required CPU model %s", -+ guest_model->name); -+ if (message) { -+ *message = g_strdup_printf(_("host CPU model does not match required " -+ "CPU model %s"), guest_model->name); -+ } -+ ret = VIR_CPU_COMPARE_INCOMPATIBLE; -+ goto cleanup; -+ } -+ -+ if (guestData) -+ if (!(*guestData = virCPULoongArchMakeCPUData(arch, &guest_model->data))) -+ goto cleanup; -+ -+ ret = VIR_CPU_COMPARE_IDENTICAL; -+ -+ cleanup: -+ virCPUDefFree(cpu); -+ virCPULoongArchMapFree(map); -+ virCPULoongArchModelFree(host_model); -+ virCPULoongArchModelFree(guest_model); -+ return ret; -+} -+ +static virCPUCompareResult -+virCPULoongArchCompare(virCPUDef *host, -+ virCPUDef *cpu, -+ bool failIncompatible) -+{ -+ virCPUCompareResult ret; -+ char *message = NULL; -+ -+ if (!host || !host->model) { -+ if (failIncompatible) { -+ virReportError(VIR_ERR_CPU_INCOMPATIBLE, "%s", -+ _("unknown host CPU")); -+ } else { -+ VIR_WARN("unknown host CPU"); -+ ret = VIR_CPU_COMPARE_INCOMPATIBLE; -+ } -+ return -1; -+ } -+ -+ ret = virCPULoongArchCompute(host, cpu, NULL, &message); -+ -+ if (failIncompatible && ret == VIR_CPU_COMPARE_INCOMPATIBLE) { -+ ret = VIR_CPU_COMPARE_ERROR; -+ if (message) { -+ virReportError(VIR_ERR_CPU_INCOMPATIBLE, "%s", message); -+ } else { -+ virReportError(VIR_ERR_CPU_INCOMPATIBLE, NULL); -+ } -+ } -+ VIR_FREE(message); -+ -+ return ret; -+} -+ -+static int -+virCPULoongArchDriverDecode(virCPUDef *cpu, -+ const virCPUData *data, -+ virDomainCapsCPUModels *models) ++virCPULoongArchCompare(virCPUDef *host G_GNUC_UNUSED, ++ virCPUDef *cpu G_GNUC_UNUSED, ++ bool failIncompatible G_GNUC_UNUSED) +{ -+ int ret = -1; -+ virCPULoongArchMap *map; -+ const virCPULoongArchModel *model; -+ -+ if (!data || !(map = virCPULoongArchLoadMap())) -+ return -1; -+ -+ if (!(model = virCPULoongArchModelFindPrid(map, data->data.loongarch.prid[0].value))) { -+ virReportError(VIR_ERR_OPERATION_FAILED, -+ _("Cannot find CPU model with Prid 0x%1$08x"), -+ data->data.loongarch.prid[0].value); -+ goto cleanup; -+ } -+ -+ if (!virCPUModelIsAllowed(model->name, models)) { -+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, -+ _("CPU model %1$s is not supported by hypervisor"), -+ model->name); -+ goto cleanup; -+ } -+ -+ cpu->model = g_strdup(model->name); -+ if (model->vendor) { -+ cpu->vendor = g_strdup(model->vendor->name); -+ } -+ ret = 0; -+ -+ cleanup: -+ virCPULoongArchMapFree(map); -+ -+ return ret; -+} -+ -+static void -+virCPULoongArchDataFree(virCPUData *data) -+{ -+ if (!data) -+ return; -+ -+ virCPULoongArchDataClear(&data->data.loongarch); -+ VIR_FREE(data); -+} -+ -+static int -+virCPULoongArchGetHostPRID(void) -+{ -+ return 0x14c010; -+} -+ -+static int -+virCPULoongArchGetHost(virCPUDef *cpu, -+ virDomainCapsCPUModels *models) -+{ -+ virCPUData *cpuData = NULL; -+ virCPULoongArchData *data; -+ int ret = -1; -+ -+ if (!(cpuData = virCPUDataNew(archs[0]))) -+ goto cleanup; -+ -+ data = &cpuData->data.loongarch; -+ data->prid = g_new0(virCPULoongArchPrid, 1); -+ if (!data->prid) -+ goto cleanup; -+ -+ -+ data->len = 1; -+ -+ data->prid[0].value = virCPULoongArchGetHostPRID(); -+ data->prid[0].mask = 0xffff00ul; -+ -+ ret = virCPULoongArchDriverDecode(cpu, cpuData, models); -+ -+ cleanup: -+ virCPULoongArchDataFree(cpuData); -+ return ret; ++ return VIR_CPU_COMPARE_IDENTICAL; +} + -+ +static int -+virCPULoongArchUpdate(virCPUDef *guest, -+ const virCPUDef *host ATTRIBUTE_UNUSED, ++virCPULoongArchUpdate(virCPUDef *guest G_GNUC_UNUSED, ++ const virCPUDef *host G_GNUC_UNUSED, + bool relative G_GNUC_UNUSED) +{ -+ /* -+ * - host-passthrough doesn't even get here -+ * - host-model is used for host CPU running in a compatibility mode and -+ * it needs to remain unchanged -+ * - custom doesn't support any optional features, there's nothing to -+ * update -+ */ -+ -+ if (guest->mode == VIR_CPU_MODE_CUSTOM) -+ guest->match = VIR_CPU_MATCH_EXACT; -+ + return 0; +} + -+static virCPUDef * -+virCPULoongArchDriverBaseline(virCPUDef **cpus, -+ unsigned int ncpus, -+ virDomainCapsCPUModels *models ATTRIBUTE_UNUSED, -+ const char **features ATTRIBUTE_UNUSED, -+ bool migratable ATTRIBUTE_UNUSED) -+{ -+ virCPULoongArchMap *map; -+ const virCPULoongArchModel *model; -+ const virCPULoongArchVendor *vendor = NULL; -+ virCPUDef *cpu = NULL; -+ size_t i; -+ -+ if (!(map = virCPULoongArchLoadMap())) -+ goto error; -+ -+ if (!(model = virCPULoongArchModelFind(map, cpus[0]->model))) { -+ virReportError(VIR_ERR_INTERNAL_ERROR, -+ _("Unknown CPU model %1$s"), cpus[0]->model); -+ goto error; -+ } -+ -+ for (i = 0; i < ncpus; i++) { -+ const virCPULoongArchVendor *vnd; -+ -+ if (STRNEQ(cpus[i]->model, model->name)) { -+ virReportError(VIR_ERR_OPERATION_FAILED, "%s", -+ _("CPUs are incompatible")); -+ goto error; -+ } -+ -+ if (!cpus[i]->vendor) -+ continue; -+ -+ if (!(vnd = virCPULoongArchVendorFind(map, cpus[i]->vendor))) { -+ virReportError(VIR_ERR_OPERATION_FAILED, -+ _("Unknown CPU vendor %1$s"), cpus[i]->vendor); -+ goto error; -+ } -+ -+ if (model->vendor) { -+ if (model->vendor != vnd) { -+ virReportError(VIR_ERR_OPERATION_FAILED, -+ _("CPU vendor %1$s of model %2$s differs from " -+ "vendor %3$s"), -+ model->vendor->name, model->name, -+ vnd->name); -+ goto error; -+ } -+ } else if (vendor) { -+ if (vendor != vnd) { -+ virReportError(VIR_ERR_OPERATION_FAILED, "%s", -+ _("CPU vendors do not match")); -+ goto error; -+ } -+ } else { -+ vendor = vnd; -+ } -+ } -+ -+ cpu = virCPUDefNew(); -+ cpu->model = g_strdup(model->name); -+ if (vendor) { -+ cpu->vendor = g_strdup(vendor->name); -+ } -+ cpu->type = VIR_CPU_TYPE_GUEST; -+ cpu->match = VIR_CPU_MATCH_EXACT; -+ cpu->fallback = VIR_CPU_FALLBACK_FORBID; -+ -+ cleanup: -+ virCPULoongArchMapFree(map); -+ return cpu; -+ -+ error: -+ virCPUDefFree(cpu); -+ cpu = NULL; -+ goto cleanup; -+} -+ -+static int -+virCPULoongArchDriverGetModels(char ***models) -+{ -+ virCPULoongArchMap *map; -+ size_t i; -+ int ret = -1; -+ -+ if (!(map = virCPULoongArchLoadMap())) { -+ return -1; -+ } -+ -+ if (models) { -+ *models = g_new0(char *, map->nmodels + 1); -+ if (!(*models)) -+ return -1; -+ -+ for (i = 0; i < map->nmodels; i++) { -+ (*models)[i] = g_strdup(map->models[i]->name); -+ } -+ } -+ -+ ret = map->nmodels; -+ -+ return ret; -+} -+ +struct cpuArchDriver cpuDriverLoongArch = { + .name = "LoongArch", + .arch = archs, + .narch = G_N_ELEMENTS(archs), + .compare = virCPULoongArchCompare, -+ .decode = virCPULoongArchDriverDecode, ++ .decode = NULL, + .encode = NULL, -+ .dataFree = virCPULoongArchDataFree, -+ .getHost = virCPULoongArchGetHost, -+ .baseline = virCPULoongArchDriverBaseline, ++ .dataFree = NULL, ++ .baseline = NULL, + .update = virCPULoongArchUpdate, -+ .getModels = virCPULoongArchDriverGetModels, ++ .getModels = NULL, +}; diff --git a/src/cpu/cpu_loongarch.h b/src/cpu/cpu_loongarch.h new file mode 100644 -index 0000000..bebc16a +index 0000000000..4bc1c0cd8f --- /dev/null +++ b/src/cpu/cpu_loongarch.h @@ -0,0 +1,25 @@ +/* + * cpu_loongarch.h: CPU driver for 64-bit LOONGARCH CPUs + * -+ * Copyright (C) 2023 Loongson Technology. ++ * Copyright (C) 2024 Loongson Technology. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public @@ -868,126 +146,183 @@ index 0000000..bebc16a + +#pragma once + -+# include "cpu.h" ++#include "cpu.h" + +extern struct cpuArchDriver cpuDriverLoongArch; -diff --git a/src/cpu/cpu_loongarch_data.h b/src/cpu/cpu_loongarch_data.h -new file mode 100644 -index 0000000..43ae044 ---- /dev/null -+++ b/src/cpu/cpu_loongarch_data.h -@@ -0,0 +1,37 @@ -+/* -+ * cpu_loongarch_data.h: 64-bit LOONGARCH CPU specific data -+ * -+ * Copyright (C) 2023 Loongson Technology. -+ * -+ * This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU Lesser General Public -+ * License as published by the Free Software Foundation; either -+ * version 2.1 of the License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ * Lesser General Public License for more details. -+ * -+ * You should have received a copy of the GNU Lesser General Public -+ * License along with this library; If not, see -+ * . -+ */ -+ -+#pragma once -+ -+# include -+ -+typedef struct _virCPULoongArchPrid virCPULoongArchPrid; -+struct _virCPULoongArchPrid { -+ uint32_t value; -+ uint32_t mask; -+}; -+ -+# define VIR_CPU_LOONGARCH_DATA_INIT { 0 } -+ -+typedef struct _virCPULoongArchData virCPULoongArchData; -+struct _virCPULoongArchData { -+ size_t len; -+ virCPULoongArchPrid *prid; -+}; diff --git a/src/cpu/meson.build b/src/cpu/meson.build -index 5539690..254d6b4 100644 +index 55396903b9..141230e380 100644 --- a/src/cpu/meson.build +++ b/src/cpu/meson.build -@@ -6,6 +6,7 @@ cpu_sources = [ - 'cpu_riscv64.c', - 'cpu_s390.c', - 'cpu_x86.c', +@@ -1,6 +1,7 @@ + cpu_sources = [ + 'cpu.c', + 'cpu_arm.c', + 'cpu_loongarch.c', - ] - - cpu_lib = static_library( + 'cpu_map.c', + 'cpu_ppc64.c', + 'cpu_riscv64.c', diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c -index cf85d42..12dcfad 100644 +index 83119e871a..89893a6aaa 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c -@@ -2728,6 +2728,7 @@ static const char *preferredMachines[] = +@@ -2665,36 +2665,37 @@ static const char *preferredMachines[] = + NULL, /* VIR_ARCH_ITANIUM (doesn't exist in QEMU any more) */ + "lm32-evr", /* VIR_ARCH_LM32 */ + ++ NULL, /* VIR_ARCH_LOONGARCH64 */ + "mcf5208evb", /* VIR_ARCH_M68K */ + "petalogix-s3adsp1800", /* VIR_ARCH_MICROBLAZE */ + "petalogix-s3adsp1800", /* VIR_ARCH_MICROBLAZEEL */ + "malta", /* VIR_ARCH_MIPS */ +- "malta", /* VIR_ARCH_MIPSEL */ ++ "malta", /* VIR_ARCH_MIPSEL */ + "malta", /* VIR_ARCH_MIPS64 */ + "malta", /* VIR_ARCH_MIPS64EL */ + "or1k-sim", /* VIR_ARCH_OR32 */ + NULL, /* VIR_ARCH_PARISC (no QEMU impl) */ +- NULL, /* VIR_ARCH_PARISC64 (no QEMU impl) */ + ++ NULL, /* VIR_ARCH_PARISC64 (no QEMU impl) */ + "g3beige", /* VIR_ARCH_PPC */ + "g3beige", /* VIR_ARCH_PPCLE */ + "pseries", /* VIR_ARCH_PPC64 */ + "pseries", /* VIR_ARCH_PPC64LE */ +- "bamboo", /* VIR_ARCH_PPCEMB */ + ++ "bamboo", /* VIR_ARCH_PPCEMB */ + "virt", /* VIR_ARCH_RISCV32 */ + "virt", /* VIR_ARCH_RISCV64 */ + NULL, /* VIR_ARCH_S390 (no QEMU impl) */ + "s390-ccw-virtio", /* VIR_ARCH_S390X */ +- "shix", /* VIR_ARCH_SH4 */ + ++ "shix", /* VIR_ARCH_SH4 */ + "shix", /* VIR_ARCH_SH4EB */ + "SS-5", /* VIR_ARCH_SPARC */ + "sun4u", /* VIR_ARCH_SPARC64 */ + "puv3", /* VIR_ARCH_UNICORE32 */ +- "pc", /* VIR_ARCH_X86_64 */ + ++ "pc", /* VIR_ARCH_X86_64 */ "sim", /* VIR_ARCH_XTENSA */ "sim", /* VIR_ARCH_XTENSAEB */ -+ "loongson7a", /* VIR_ARCH_LOONGARCH64 */ }; - G_STATIC_ASSERT(G_N_ELEMENTS(preferredMachines) == VIR_ARCH_LAST); - diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c -index d556e21..36fc062 100644 +index 953808fcfe..3576bc8284 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c -@@ -4183,6 +4183,10 @@ qemuDomainDefAddDefaultDevices(virQEMUDriver *driver, - addPCIRoot = true; - break; - -+ case VIR_ARCH_LOONGARCH64: -+ addPCIeRoot = true; -+ break; -+ - case VIR_ARCH_ARMV7B: +@@ -4226,6 +4226,7 @@ qemuDomainDefAddDefaultDevices(virQEMUDriver *driver, case VIR_ARCH_CRIS: case VIR_ARCH_ITANIUM: + case VIR_ARCH_LM32: ++ case VIR_ARCH_LOONGARCH64: + case VIR_ARCH_M68K: + case VIR_ARCH_MICROBLAZE: + case VIR_ARCH_MICROBLAZEEL: diff --git a/src/util/virarch.c b/src/util/virarch.c -index 2134dd6..3765ecf 100644 +index 01e520de73..8545f993ea 100644 --- a/src/util/virarch.c +++ b/src/util/virarch.c -@@ -83,6 +83,8 @@ static const struct virArchData { +@@ -51,36 +51,37 @@ static const struct virArchData { + { "ia64", 64, VIR_ARCH_LITTLE_ENDIAN }, + { "lm32", 32, VIR_ARCH_BIG_ENDIAN }, + ++ { "loongarch64", 64, VIR_ARCH_LITTLE_ENDIAN }, + { "m68k", 32, VIR_ARCH_BIG_ENDIAN }, + { "microblaze", 32, VIR_ARCH_BIG_ENDIAN }, + { "microblazeel", 32, VIR_ARCH_LITTLE_ENDIAN}, + { "mips", 32, VIR_ARCH_BIG_ENDIAN }, +- { "mipsel", 32, VIR_ARCH_LITTLE_ENDIAN }, + ++ { "mipsel", 32, VIR_ARCH_LITTLE_ENDIAN }, + { "mips64", 64, VIR_ARCH_BIG_ENDIAN }, + { "mips64el", 64, VIR_ARCH_LITTLE_ENDIAN }, + { "openrisc", 32, VIR_ARCH_BIG_ENDIAN }, + { "parisc", 32, VIR_ARCH_BIG_ENDIAN }, +- { "parisc64", 64, VIR_ARCH_BIG_ENDIAN }, ++ { "parisc64", 64, VIR_ARCH_BIG_ENDIAN }, + { "ppc", 32, VIR_ARCH_BIG_ENDIAN }, + { "ppcle", 32, VIR_ARCH_LITTLE_ENDIAN }, + { "ppc64", 64, VIR_ARCH_BIG_ENDIAN }, + { "ppc64le", 64, VIR_ARCH_LITTLE_ENDIAN }, +- { "ppcemb", 32, VIR_ARCH_BIG_ENDIAN }, + ++ { "ppcemb", 32, VIR_ARCH_BIG_ENDIAN }, + { "riscv32", 32, VIR_ARCH_LITTLE_ENDIAN }, + { "riscv64", 64, VIR_ARCH_LITTLE_ENDIAN }, + { "s390", 32, VIR_ARCH_BIG_ENDIAN }, + { "s390x", 64, VIR_ARCH_BIG_ENDIAN }, +- { "sh4", 32, VIR_ARCH_LITTLE_ENDIAN }, + ++ { "sh4", 32, VIR_ARCH_LITTLE_ENDIAN }, + { "sh4eb", 64, VIR_ARCH_BIG_ENDIAN }, + { "sparc", 32, VIR_ARCH_BIG_ENDIAN }, + { "sparc64", 64, VIR_ARCH_BIG_ENDIAN }, + { "unicore32", 32, VIR_ARCH_LITTLE_ENDIAN }, +- { "x86_64", 64, VIR_ARCH_LITTLE_ENDIAN }, + ++ { "x86_64", 64, VIR_ARCH_LITTLE_ENDIAN }, { "xtensa", 32, VIR_ARCH_LITTLE_ENDIAN }, { "xtensaeb", 32, VIR_ARCH_BIG_ENDIAN }, -+ -+ { "loongarch64", 64, VIR_ARCH_LITTLE_ENDIAN }, }; - - G_STATIC_ASSERT(G_N_ELEMENTS(virArchData) == VIR_ARCH_LAST); diff --git a/src/util/virarch.h b/src/util/virarch.h -index 81b1b27..2ace17c 100644 +index 747f77c48e..2c01a13b8e 100644 --- a/src/util/virarch.h +++ b/src/util/virarch.h -@@ -69,6 +69,8 @@ typedef enum { +@@ -36,36 +36,37 @@ typedef enum { + VIR_ARCH_ITANIUM, /* Itanium 64 LE https://en.wikipedia.org/wiki/Itanium */ + VIR_ARCH_LM32, /* MilkyMist 32 BE https://en.wikipedia.org/wiki/Milkymist */ + ++ VIR_ARCH_LOONGARCH64, /* LoongArch 64 LE https://en.wikipedia.org/wiki/Loongson#LoongArch */ + VIR_ARCH_M68K, /* m68k 32 BE https://en.wikipedia.org/wiki/Motorola_68000_family */ + VIR_ARCH_MICROBLAZE, /* Microblaze 32 BE https://en.wikipedia.org/wiki/MicroBlaze */ + VIR_ARCH_MICROBLAZEEL, /* Microblaze 32 LE https://en.wikipedia.org/wiki/MicroBlaze */ + VIR_ARCH_MIPS, /* MIPS 32 BE https://en.wikipedia.org/wiki/MIPS_architecture */ +- VIR_ARCH_MIPSEL, /* MIPS 32 LE https://en.wikipedia.org/wiki/MIPS_architecture */ + ++ VIR_ARCH_MIPSEL, /* MIPS 32 LE https://en.wikipedia.org/wiki/MIPS_architecture */ + VIR_ARCH_MIPS64, /* MIPS 64 BE https://en.wikipedia.org/wiki/MIPS_architecture */ + VIR_ARCH_MIPS64EL, /* MIPS 64 LE https://en.wikipedia.org/wiki/MIPS_architecture */ + VIR_ARCH_OR32, /* OpenRisc 32 BE https://en.wikipedia.org/wiki/OpenRISC#QEMU_support */ + VIR_ARCH_PARISC, /* PA-Risc 32 BE https://en.wikipedia.org/wiki/PA-RISC */ +- VIR_ARCH_PARISC64, /* PA-Risc 64 BE https://en.wikipedia.org/wiki/PA-RISC */ + ++ VIR_ARCH_PARISC64, /* PA-Risc 64 BE https://en.wikipedia.org/wiki/PA-RISC */ + VIR_ARCH_PPC, /* PowerPC 32 BE https://en.wikipedia.org/wiki/PowerPC */ + VIR_ARCH_PPCLE, /* PowerPC 32 LE https://en.wikipedia.org/wiki/PowerPC */ + VIR_ARCH_PPC64, /* PowerPC 64 BE https://en.wikipedia.org/wiki/PowerPC */ + VIR_ARCH_PPC64LE, /* PowerPC 64 LE https://en.wikipedia.org/wiki/PowerPC */ +- VIR_ARCH_PPCEMB, /* PowerPC 32 BE https://en.wikipedia.org/wiki/PowerPC */ + ++ VIR_ARCH_PPCEMB, /* PowerPC 32 BE https://en.wikipedia.org/wiki/PowerPC */ + VIR_ARCH_RISCV32, /* RISC-V 32 LE https://en.wikipedia.org/wiki/RISC-V */ + VIR_ARCH_RISCV64, /* RISC-V 64 LE https://en.wikipedia.org/wiki/RISC-V */ + VIR_ARCH_S390, /* S390 32 BE https://en.wikipedia.org/wiki/S390 */ + VIR_ARCH_S390X, /* S390 64 BE https://en.wikipedia.org/wiki/S390x */ +- VIR_ARCH_SH4, /* SuperH4 32 LE https://en.wikipedia.org/wiki/SuperH */ + ++ VIR_ARCH_SH4, /* SuperH4 32 LE https://en.wikipedia.org/wiki/SuperH */ + VIR_ARCH_SH4EB, /* SuperH4 32 BE https://en.wikipedia.org/wiki/SuperH */ + VIR_ARCH_SPARC, /* Sparc 32 BE https://en.wikipedia.org/wiki/Sparc */ + VIR_ARCH_SPARC64, /* Sparc 64 BE https://en.wikipedia.org/wiki/Sparc */ + VIR_ARCH_UNICORE32, /* UniCore 32 LE https://en.wikipedia.org/wiki/Unicore */ +- VIR_ARCH_X86_64, /* x86 64 LE https://en.wikipedia.org/wiki/X86 */ + ++ VIR_ARCH_X86_64, /* x86 64 LE https://en.wikipedia.org/wiki/X86 */ VIR_ARCH_XTENSA, /* XTensa 32 LE https://en.wikipedia.org/wiki/Xtensa#Processor_Cores */ VIR_ARCH_XTENSAEB, /* XTensa 32 BE https://en.wikipedia.org/wiki/Xtensa#Processor_Cores */ -+ VIR_ARCH_LOONGARCH64, /* LoongArch 64 LE */ -+ - VIR_ARCH_LAST, - } virArch; - -@@ -103,6 +105,8 @@ typedef enum { - #define ARCH_IS_MIPS64(arch) ((arch) == VIR_ARCH_MIPS64 ||\ - (arch) == VIR_ARCH_MIPS64EL) +@@ -106,6 +107,8 @@ typedef enum { + #define ARCH_IS_SH4(arch) ((arch) == VIR_ARCH_SH4 ||\ + (arch) == VIR_ARCH_SH4EB) +#define ARCH_IS_LOONGARCH(arch) ((arch) == VIR_ARCH_LOONGARCH64) + - #define ARCH_IS_SH4(arch) ((arch) == VIR_ARCH_SH4 ||\ - (arch) == VIR_ARCH_SH4EB) - + typedef enum { + VIR_ARCH_LITTLE_ENDIAN, + VIR_ARCH_BIG_ENDIAN, -- -2.27.0 +2.39.1 diff --git a/Add-test-script-for-loongarch.patch b/Add-test-script-for-loongarch.patch new file mode 100644 index 0000000000000000000000000000000000000000..5db808bac4158947c1468351f753ddb2b695550f --- /dev/null +++ b/Add-test-script-for-loongarch.patch @@ -0,0 +1,31547 @@ +From 89cf2dfac890ef9046ceec3266cfbe2fc70218bc Mon Sep 17 00:00:00 2001 +From: xianglai li +Date: Wed, 27 Dec 2023 17:10:35 +0800 +Subject: [PATCH 4/4] Add test script for loongarch + +Add domaincapstest qemuxml2argvtest qemuxml2xmltest +related test cases for loongarch. + +Signed-off-by: "Xianglai Li" +Signed-off-by: Xianglai Li +--- + .../qemu_8.2.0-tcg-virt.loongarch64.xml | 163 + + .../qemu_8.2.0-virt.loongarch64.xml | 167 + + tests/domaincapstest.c | 4 +- + .../caps_8.2.0_loongarch64.replies | 30140 ++++++++++++++++ + .../caps_8.2.0_loongarch64.xml | 175 + + .../qemucaps2xmloutdata/caps.loongarch64.xml | 28 + + ...o-type-loongarch64.loongarch64-latest.args | 34 + + .../default-video-type-loongarch64.xml | 18 + + ...ch64-virt-graphics.loongarch64-latest.args | 56 + + .../loongarch64-virt-graphics.xml | 48 + + ...ch64-virt-headless.loongarch64-latest.args | 52 + + .../loongarch64-virt-headless.xml | 42 + + tests/qemuxml2argvtest.c | 3 + + ...eo-type-loongarch64.loongarch64-latest.xml | 45 + + ...rch64-virt-graphics.loongarch64-latest.xml | 116 + + ...rch64-virt-headless.loongarch64-latest.xml | 102 + + ...oongarch64-virt-pci.loongarch64-latest.xml | 48 + + .../loongarch64-virt.loongarch64-latest.xml | 66 + + tests/qemuxml2xmltest.c | 3 + + tests/testutilshostcpus.h | 10 + + 20 files changed, 31318 insertions(+), 2 deletions(-) + create mode 100644 tests/domaincapsdata/qemu_8.2.0-tcg-virt.loongarch64.xml + create mode 100644 tests/domaincapsdata/qemu_8.2.0-virt.loongarch64.xml + create mode 100644 tests/qemucapabilitiesdata/caps_8.2.0_loongarch64.replies + create mode 100644 tests/qemucapabilitiesdata/caps_8.2.0_loongarch64.xml + create mode 100644 tests/qemucaps2xmloutdata/caps.loongarch64.xml + create mode 100644 tests/qemuxml2argvdata/default-video-type-loongarch64.loongarch64-latest.args + create mode 100644 tests/qemuxml2argvdata/default-video-type-loongarch64.xml + create mode 100644 tests/qemuxml2argvdata/loongarch64-virt-graphics.loongarch64-latest.args + create mode 100644 tests/qemuxml2argvdata/loongarch64-virt-graphics.xml + create mode 100644 tests/qemuxml2argvdata/loongarch64-virt-headless.loongarch64-latest.args + create mode 100644 tests/qemuxml2argvdata/loongarch64-virt-headless.xml + create mode 100644 tests/qemuxml2xmloutdata/default-video-type-loongarch64.loongarch64-latest.xml + create mode 100644 tests/qemuxml2xmloutdata/loongarch64-virt-graphics.loongarch64-latest.xml + create mode 100644 tests/qemuxml2xmloutdata/loongarch64-virt-headless.loongarch64-latest.xml + create mode 100644 tests/qemuxml2xmloutdata/loongarch64-virt-pci.loongarch64-latest.xml + create mode 100644 tests/qemuxml2xmloutdata/loongarch64-virt.loongarch64-latest.xml + +diff --git a/tests/domaincapsdata/qemu_8.2.0-tcg-virt.loongarch64.xml b/tests/domaincapsdata/qemu_8.2.0-tcg-virt.loongarch64.xml +new file mode 100644 +index 0000000000..ba89ddbea9 +--- /dev/null ++++ b/tests/domaincapsdata/qemu_8.2.0-tcg-virt.loongarch64.xml +@@ -0,0 +1,163 @@ ++ ++ /usr/bin/qemu-system-loongarch64 ++ qemu ++ virt ++ loongarch64 ++ ++ ++ ++ ++ ++ /obviously/fake/firmware1.fd ++ /obviously/fake/firmware2.fd ++ ++ rom ++ pflash ++ ++ ++ yes ++ no ++ ++ ++ no ++ ++ ++ ++ ++ ++ ++ ++ on ++ off ++ ++ ++ ++ ++ la132 ++ la464 ++ max ++ ++ ++ ++ ++ file ++ anonymous ++ memfd ++ ++ ++ ++ ++ ++ disk ++ cdrom ++ floppy ++ lun ++ ++ ++ fdc ++ scsi ++ virtio ++ usb ++ sata ++ ++ ++ virtio ++ virtio-transitional ++ virtio-non-transitional ++ ++ ++ ++ ++ sdl ++ vnc ++ spice ++ dbus ++ ++ ++ ++ ++ ++ subsystem ++ ++ ++ default ++ mandatory ++ requisite ++ optional ++ ++ ++ usb ++ pci ++ scsi ++ ++ ++ ++ default ++ vfio ++ ++ ++ ++ ++ virtio ++ virtio-transitional ++ virtio-non-transitional ++ ++ ++ random ++ egd ++ builtin ++ ++ ++ ++ ++ path ++ handle ++ virtiofs ++ ++ ++ ++ ++ ++ usb ++ ++ ++ ++ ++ pty ++ unix ++ spicevmc ++ ++ ++ ++ ++ virtio ++ ++ ++ qemu ++ ++ ++ builtin ++ lkcf ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff --git a/tests/domaincapsdata/qemu_8.2.0-virt.loongarch64.xml b/tests/domaincapsdata/qemu_8.2.0-virt.loongarch64.xml +new file mode 100644 +index 0000000000..2013da37d4 +--- /dev/null ++++ b/tests/domaincapsdata/qemu_8.2.0-virt.loongarch64.xml +@@ -0,0 +1,167 @@ ++ ++ /usr/bin/qemu-system-loongarch64 ++ kvm ++ virt ++ loongarch64 ++ ++ ++ ++ ++ ++ /obviously/fake/firmware1.fd ++ /obviously/fake/firmware2.fd ++ ++ rom ++ pflash ++ ++ ++ yes ++ no ++ ++ ++ no ++ ++ ++ ++ ++ ++ ++ off ++ ++ ++ ++ ++ on ++ off ++ ++ ++ ++ ++ la132 ++ la464 ++ max ++ ++ ++ ++ ++ file ++ anonymous ++ memfd ++ ++ ++ ++ ++ ++ disk ++ cdrom ++ floppy ++ lun ++ ++ ++ fdc ++ scsi ++ virtio ++ usb ++ sata ++ ++ ++ virtio ++ virtio-transitional ++ virtio-non-transitional ++ ++ ++ ++ ++ sdl ++ vnc ++ spice ++ dbus ++ ++ ++ ++ ++ ++ subsystem ++ ++ ++ default ++ mandatory ++ requisite ++ optional ++ ++ ++ usb ++ pci ++ scsi ++ ++ ++ ++ default ++ vfio ++ ++ ++ ++ ++ virtio ++ virtio-transitional ++ virtio-non-transitional ++ ++ ++ random ++ egd ++ builtin ++ ++ ++ ++ ++ path ++ handle ++ virtiofs ++ ++ ++ ++ ++ ++ usb ++ ++ ++ ++ ++ pty ++ unix ++ spicevmc ++ ++ ++ ++ ++ virtio ++ ++ ++ qemu ++ ++ ++ builtin ++ lkcf ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff --git a/tests/domaincapstest.c b/tests/domaincapstest.c +index c4a4508430..bb32b02c17 100644 +--- a/tests/domaincapstest.c ++++ b/tests/domaincapstest.c +@@ -379,8 +379,8 @@ doTestQemu(const char *inputDir G_GNUC_UNUSED, + VIR_DOMAIN_VIRT_KVM, opaque) < 0) + ret = -1; + } +- } else if (STRPREFIX(arch, "riscv")) { +- /* For riscv64 we test two combinations: ++ } else if (STRPREFIX(arch, "riscv") || STRPREFIX(arch, "loongarch64")) { ++ /* For riscv64 and loongarch64 we test two combinations: + * + * - KVM with virt machine + * - TCG with virt machine +diff --git a/tests/qemucapabilitiesdata/caps_8.2.0_loongarch64.replies b/tests/qemucapabilitiesdata/caps_8.2.0_loongarch64.replies +new file mode 100644 +index 0000000000..4be5364d37 +--- /dev/null ++++ b/tests/qemucapabilitiesdata/caps_8.2.0_loongarch64.replies +@@ -0,0 +1,30140 @@ ++{ ++ "execute": "qmp_capabilities", ++ "id": "libvirt-1" ++} ++ ++{ ++ "return": { ++ }, ++ "id": "libvirt-1" ++} ++ ++{ ++ "execute": "query-version", ++ "id": "libvirt-2" ++} ++ ++{ ++ "return": { ++ "qemu": { ++ "micro": 0, ++ "minor": 2, ++ "major": 8 ++ }, ++ "package": "v8.2.0" ++ }, ++ "id": "libvirt-2" ++} ++ ++{ ++ "execute": "query-target", ++ "id": "libvirt-3" ++} ++ ++{ ++ "return": { ++ "arch": "loongarch64" ++ }, ++ "id": "libvirt-3" ++} ++ ++{ ++ "execute": "query-qmp-schema", ++ "id": "libvirt-4" ++} ++ ++{ ++ "return": [ ++ { ++ "name": "query-status", ++ "ret-type": "1", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "SHUTDOWN", ++ "meta-type": "event", ++ "arg-type": "2" ++ }, ++ { ++ "name": "POWERDOWN", ++ "meta-type": "event", ++ "arg-type": "0" ++ }, ++ { ++ "name": "RESET", ++ "meta-type": "event", ++ "arg-type": "3" ++ }, ++ { ++ "name": "STOP", ++ "meta-type": "event", ++ "arg-type": "0" ++ }, ++ { ++ "name": "RESUME", ++ "meta-type": "event", ++ "arg-type": "0" ++ }, ++ { ++ "name": "SUSPEND", ++ "meta-type": "event", ++ "arg-type": "0" ++ }, ++ { ++ "name": "SUSPEND_DISK", ++ "meta-type": "event", ++ "arg-type": "0" ++ }, ++ { ++ "name": "WAKEUP", ++ "meta-type": "event", ++ "arg-type": "0" ++ }, ++ { ++ "name": "WATCHDOG", ++ "meta-type": "event", ++ "arg-type": "4" ++ }, ++ { ++ "name": "watchdog-set-action", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "5" ++ }, ++ { ++ "name": "set-action", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "6" ++ }, ++ { ++ "name": "GUEST_PANICKED", ++ "meta-type": "event", ++ "arg-type": "7" ++ }, ++ { ++ "name": "GUEST_CRASHLOADED", ++ "meta-type": "event", ++ "arg-type": "8" ++ }, ++ { ++ "name": "MEMORY_FAILURE", ++ "meta-type": "event", ++ "arg-type": "9" ++ }, ++ { ++ "name": "JOB_STATUS_CHANGE", ++ "meta-type": "event", ++ "arg-type": "10" ++ }, ++ { ++ "name": "job-pause", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "11" ++ }, ++ { ++ "name": "job-resume", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "12" ++ }, ++ { ++ "name": "job-cancel", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "13" ++ }, ++ { ++ "name": "job-complete", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "14" ++ }, ++ { ++ "name": "job-dismiss", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "15" ++ }, ++ { ++ "name": "job-finalize", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "16" ++ }, ++ { ++ "name": "query-jobs", ++ "ret-type": "[17]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "query-pr-managers", ++ "ret-type": "[18]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "eject", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "19" ++ }, ++ { ++ "name": "blockdev-open-tray", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "20" ++ }, ++ { ++ "name": "blockdev-close-tray", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "21" ++ }, ++ { ++ "name": "blockdev-remove-medium", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "22" ++ }, ++ { ++ "name": "blockdev-insert-medium", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "23" ++ }, ++ { ++ "name": "blockdev-change-medium", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "24" ++ }, ++ { ++ "name": "DEVICE_TRAY_MOVED", ++ "meta-type": "event", ++ "arg-type": "25" ++ }, ++ { ++ "name": "PR_MANAGER_STATUS_CHANGED", ++ "meta-type": "event", ++ "arg-type": "26" ++ }, ++ { ++ "name": "block_set_io_throttle", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "27" ++ }, ++ { ++ "name": "block-latency-histogram-set", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "28" ++ }, ++ { ++ "name": "query-block", ++ "ret-type": "[29]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "query-blockstats", ++ "ret-type": "[31]", ++ "meta-type": "command", ++ "arg-type": "30" ++ }, ++ { ++ "name": "query-block-jobs", ++ "ret-type": "[32]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "block_resize", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "33" ++ }, ++ { ++ "name": "blockdev-snapshot-sync", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "34" ++ }, ++ { ++ "name": "blockdev-snapshot", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "35", ++ "features": [ ++ "allow-write-only-overlay" ++ ] ++ }, ++ { ++ "name": "change-backing-file", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "36" ++ }, ++ { ++ "name": "block-commit", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "37" ++ }, ++ { ++ "name": "drive-backup", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "38", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "blockdev-backup", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "39" ++ }, ++ { ++ "name": "query-named-block-nodes", ++ "ret-type": "[41]", ++ "meta-type": "command", ++ "arg-type": "40" ++ }, ++ { ++ "name": "x-debug-query-block-graph", ++ "ret-type": "42", ++ "meta-type": "command", ++ "arg-type": "0", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "drive-mirror", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "43" ++ }, ++ { ++ "name": "block-dirty-bitmap-add", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "44" ++ }, ++ { ++ "name": "block-dirty-bitmap-remove", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "45" ++ }, ++ { ++ "name": "block-dirty-bitmap-clear", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "45" ++ }, ++ { ++ "name": "block-dirty-bitmap-enable", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "45" ++ }, ++ { ++ "name": "block-dirty-bitmap-disable", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "45" ++ }, ++ { ++ "name": "block-dirty-bitmap-merge", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "46" ++ }, ++ { ++ "name": "x-debug-block-dirty-bitmap-sha256", ++ "ret-type": "47", ++ "meta-type": "command", ++ "arg-type": "45", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "blockdev-mirror", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "48" ++ }, ++ { ++ "name": "block-stream", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "49" ++ }, ++ { ++ "name": "block-job-set-speed", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "50" ++ }, ++ { ++ "name": "block-job-cancel", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "51" ++ }, ++ { ++ "name": "block-job-pause", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "52" ++ }, ++ { ++ "name": "block-job-resume", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "53" ++ }, ++ { ++ "name": "block-job-complete", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "54" ++ }, ++ { ++ "name": "block-job-dismiss", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "55" ++ }, ++ { ++ "name": "block-job-finalize", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "56" ++ }, ++ { ++ "name": "block-job-change", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "57" ++ }, ++ { ++ "name": "blockdev-add", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "58" ++ }, ++ { ++ "name": "blockdev-reopen", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "59" ++ }, ++ { ++ "name": "blockdev-del", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "60" ++ }, ++ { ++ "name": "blockdev-create", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "61" ++ }, ++ { ++ "name": "x-blockdev-amend", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "62", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "BLOCK_IMAGE_CORRUPTED", ++ "meta-type": "event", ++ "arg-type": "63" ++ }, ++ { ++ "name": "BLOCK_IO_ERROR", ++ "meta-type": "event", ++ "arg-type": "64" ++ }, ++ { ++ "name": "BLOCK_JOB_COMPLETED", ++ "meta-type": "event", ++ "arg-type": "65" ++ }, ++ { ++ "name": "BLOCK_JOB_CANCELLED", ++ "meta-type": "event", ++ "arg-type": "66" ++ }, ++ { ++ "name": "BLOCK_JOB_ERROR", ++ "meta-type": "event", ++ "arg-type": "67" ++ }, ++ { ++ "name": "BLOCK_JOB_READY", ++ "meta-type": "event", ++ "arg-type": "68" ++ }, ++ { ++ "name": "BLOCK_JOB_PENDING", ++ "meta-type": "event", ++ "arg-type": "69" ++ }, ++ { ++ "name": "BLOCK_WRITE_THRESHOLD", ++ "meta-type": "event", ++ "arg-type": "70" ++ }, ++ { ++ "name": "block-set-write-threshold", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "71" ++ }, ++ { ++ "name": "x-blockdev-change", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "72", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-blockdev-set-iothread", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "73", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "QUORUM_FAILURE", ++ "meta-type": "event", ++ "arg-type": "74" ++ }, ++ { ++ "name": "QUORUM_REPORT_BAD", ++ "meta-type": "event", ++ "arg-type": "75" ++ }, ++ { ++ "name": "blockdev-snapshot-internal-sync", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "76" ++ }, ++ { ++ "name": "blockdev-snapshot-delete-internal-sync", ++ "ret-type": "78", ++ "meta-type": "command", ++ "arg-type": "77" ++ }, ++ { ++ "name": "nbd-server-start", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "79" ++ }, ++ { ++ "name": "nbd-server-add", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "80", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "nbd-server-remove", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "81", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "nbd-server-stop", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "block-export-add", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "82" ++ }, ++ { ++ "name": "block-export-del", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "83" ++ }, ++ { ++ "name": "BLOCK_EXPORT_DELETED", ++ "meta-type": "event", ++ "arg-type": "84" ++ }, ++ { ++ "name": "query-block-exports", ++ "ret-type": "[85]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "query-chardev", ++ "ret-type": "[86]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "query-chardev-backends", ++ "ret-type": "[87]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "ringbuf-write", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "88" ++ }, ++ { ++ "name": "ringbuf-read", ++ "ret-type": "str", ++ "meta-type": "command", ++ "arg-type": "89" ++ }, ++ { ++ "name": "chardev-add", ++ "ret-type": "91", ++ "meta-type": "command", ++ "arg-type": "90" ++ }, ++ { ++ "name": "chardev-change", ++ "ret-type": "91", ++ "meta-type": "command", ++ "arg-type": "92" ++ }, ++ { ++ "name": "chardev-remove", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "93" ++ }, ++ { ++ "name": "chardev-send-break", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "94" ++ }, ++ { ++ "name": "VSERPORT_CHANGE", ++ "meta-type": "event", ++ "arg-type": "95" ++ }, ++ { ++ "name": "dump-guest-memory", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "96" ++ }, ++ { ++ "name": "query-dump", ++ "ret-type": "97", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "DUMP_COMPLETED", ++ "meta-type": "event", ++ "arg-type": "98" ++ }, ++ { ++ "name": "query-dump-guest-memory-capability", ++ "ret-type": "99", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "set_link", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "100" ++ }, ++ { ++ "name": "netdev_add", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "101" ++ }, ++ { ++ "name": "netdev_del", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "102" ++ }, ++ { ++ "name": "query-rx-filter", ++ "ret-type": "[104]", ++ "meta-type": "command", ++ "arg-type": "103" ++ }, ++ { ++ "name": "NIC_RX_FILTER_CHANGED", ++ "meta-type": "event", ++ "arg-type": "105" ++ }, ++ { ++ "name": "announce-self", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "106" ++ }, ++ { ++ "name": "FAILOVER_NEGOTIATED", ++ "meta-type": "event", ++ "arg-type": "107" ++ }, ++ { ++ "name": "NETDEV_STREAM_CONNECTED", ++ "meta-type": "event", ++ "arg-type": "108" ++ }, ++ { ++ "name": "NETDEV_STREAM_DISCONNECTED", ++ "meta-type": "event", ++ "arg-type": "109" ++ }, ++ { ++ "name": "RDMA_GID_STATUS_CHANGED", ++ "meta-type": "event", ++ "arg-type": "110" ++ }, ++ { ++ "name": "query-rocker", ++ "ret-type": "112", ++ "meta-type": "command", ++ "arg-type": "111" ++ }, ++ { ++ "name": "query-rocker-ports", ++ "ret-type": "[114]", ++ "meta-type": "command", ++ "arg-type": "113" ++ }, ++ { ++ "name": "query-rocker-of-dpa-flows", ++ "ret-type": "[116]", ++ "meta-type": "command", ++ "arg-type": "115" ++ }, ++ { ++ "name": "query-rocker-of-dpa-groups", ++ "ret-type": "[118]", ++ "meta-type": "command", ++ "arg-type": "117" ++ }, ++ { ++ "name": "query-tpm-models", ++ "ret-type": "[119]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "query-tpm-types", ++ "ret-type": "[120]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "query-tpm", ++ "ret-type": "[121]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "set_password", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "122" ++ }, ++ { ++ "name": "expire_password", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "123" ++ }, ++ { ++ "name": "screendump", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "124" ++ }, ++ { ++ "name": "query-spice", ++ "ret-type": "125", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "SPICE_CONNECTED", ++ "meta-type": "event", ++ "arg-type": "126" ++ }, ++ { ++ "name": "SPICE_INITIALIZED", ++ "meta-type": "event", ++ "arg-type": "127" ++ }, ++ { ++ "name": "SPICE_DISCONNECTED", ++ "meta-type": "event", ++ "arg-type": "128" ++ }, ++ { ++ "name": "SPICE_MIGRATE_COMPLETED", ++ "meta-type": "event", ++ "arg-type": "0" ++ }, ++ { ++ "name": "query-vnc", ++ "ret-type": "129", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "query-vnc-servers", ++ "ret-type": "[130]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "change-vnc-password", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "131" ++ }, ++ { ++ "name": "VNC_CONNECTED", ++ "meta-type": "event", ++ "arg-type": "132" ++ }, ++ { ++ "name": "VNC_INITIALIZED", ++ "meta-type": "event", ++ "arg-type": "133" ++ }, ++ { ++ "name": "VNC_DISCONNECTED", ++ "meta-type": "event", ++ "arg-type": "134" ++ }, ++ { ++ "name": "query-mice", ++ "ret-type": "[135]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "send-key", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "136" ++ }, ++ { ++ "name": "input-send-event", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "137" ++ }, ++ { ++ "name": "query-display-options", ++ "ret-type": "138", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "display-reload", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "139" ++ }, ++ { ++ "name": "display-update", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "140" ++ }, ++ { ++ "name": "client_migrate_info", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "141" ++ }, ++ { ++ "name": "query-migrate", ++ "ret-type": "142", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "migrate-set-capabilities", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "143" ++ }, ++ { ++ "name": "query-migrate-capabilities", ++ "ret-type": "[144]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "migrate-set-parameters", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "145" ++ }, ++ { ++ "name": "query-migrate-parameters", ++ "ret-type": "146", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "migrate-start-postcopy", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "MIGRATION", ++ "meta-type": "event", ++ "arg-type": "147" ++ }, ++ { ++ "name": "MIGRATION_PASS", ++ "meta-type": "event", ++ "arg-type": "148" ++ }, ++ { ++ "name": "COLO_EXIT", ++ "meta-type": "event", ++ "arg-type": "149" ++ }, ++ { ++ "name": "x-colo-lost-heartbeat", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "0", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "migrate_cancel", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "migrate-continue", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "150" ++ }, ++ { ++ "name": "migrate", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "151" ++ }, ++ { ++ "name": "migrate-incoming", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "152" ++ }, ++ { ++ "name": "xen-save-devices-state", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "153" ++ }, ++ { ++ "name": "xen-set-global-dirty-log", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "154" ++ }, ++ { ++ "name": "xen-load-devices-state", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "155" ++ }, ++ { ++ "name": "xen-set-replication", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "156" ++ }, ++ { ++ "name": "query-xen-replication-status", ++ "ret-type": "157", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "xen-colo-do-checkpoint", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "query-colo-status", ++ "ret-type": "158", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "migrate-recover", ++ "ret-type": "0", ++ "allow-oob": true, ++ "meta-type": "command", ++ "arg-type": "159" ++ }, ++ { ++ "name": "migrate-pause", ++ "ret-type": "0", ++ "allow-oob": true, ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "UNPLUG_PRIMARY", ++ "meta-type": "event", ++ "arg-type": "160" ++ }, ++ { ++ "name": "calc-dirty-rate", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "161" ++ }, ++ { ++ "name": "query-dirty-rate", ++ "ret-type": "163", ++ "meta-type": "command", ++ "arg-type": "162" ++ }, ++ { ++ "name": "set-vcpu-dirty-limit", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "164" ++ }, ++ { ++ "name": "cancel-vcpu-dirty-limit", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "165" ++ }, ++ { ++ "name": "query-vcpu-dirty-limit", ++ "ret-type": "[166]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "query-migrationthreads", ++ "ret-type": "[167]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "snapshot-save", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "168" ++ }, ++ { ++ "name": "snapshot-load", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "169" ++ }, ++ { ++ "name": "snapshot-delete", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "170" ++ }, ++ { ++ "name": "transaction", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "171" ++ }, ++ { ++ "name": "trace-event-get-state", ++ "ret-type": "[173]", ++ "meta-type": "command", ++ "arg-type": "172" ++ }, ++ { ++ "name": "trace-event-set-state", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "174" ++ }, ++ { ++ "name": "qmp_capabilities", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "175" ++ }, ++ { ++ "name": "query-version", ++ "ret-type": "176", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "query-commands", ++ "ret-type": "[177]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "quit", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "query-qmp-schema", ++ "ret-type": "[178]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "qom-list", ++ "ret-type": "[180]", ++ "meta-type": "command", ++ "arg-type": "179" ++ }, ++ { ++ "name": "qom-get", ++ "ret-type": "any", ++ "meta-type": "command", ++ "arg-type": "181" ++ }, ++ { ++ "name": "qom-set", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "182" ++ }, ++ { ++ "name": "qom-list-types", ++ "ret-type": "[184]", ++ "meta-type": "command", ++ "arg-type": "183" ++ }, ++ { ++ "name": "qom-list-properties", ++ "ret-type": "[180]", ++ "meta-type": "command", ++ "arg-type": "185" ++ }, ++ { ++ "name": "object-add", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "186" ++ }, ++ { ++ "name": "object-del", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "187" ++ }, ++ { ++ "name": "device-list-properties", ++ "ret-type": "[180]", ++ "meta-type": "command", ++ "arg-type": "188" ++ }, ++ { ++ "name": "device_add", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "189", ++ "features": [ ++ "json-cli", ++ "json-cli-hotplug" ++ ] ++ }, ++ { ++ "name": "device_del", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "190" ++ }, ++ { ++ "name": "DEVICE_DELETED", ++ "meta-type": "event", ++ "arg-type": "191" ++ }, ++ { ++ "name": "DEVICE_UNPLUG_GUEST_ERROR", ++ "meta-type": "event", ++ "arg-type": "192" ++ }, ++ { ++ "name": "query-cpus-fast", ++ "ret-type": "[193]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "query-machines", ++ "ret-type": "[194]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "query-current-machine", ++ "ret-type": "195", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "query-target", ++ "ret-type": "196", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "query-uuid", ++ "ret-type": "197", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "query-vm-generation-id", ++ "ret-type": "198", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "system_reset", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "system_powerdown", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "system_wakeup", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "inject-nmi", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "query-kvm", ++ "ret-type": "199", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "memsave", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "200" ++ }, ++ { ++ "name": "pmemsave", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "201" ++ }, ++ { ++ "name": "query-memdev", ++ "ret-type": "[202]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "query-hotpluggable-cpus", ++ "ret-type": "[203]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "set-numa-node", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "204" ++ }, ++ { ++ "name": "balloon", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "205" ++ }, ++ { ++ "name": "query-balloon", ++ "ret-type": "206", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "BALLOON_CHANGE", ++ "meta-type": "event", ++ "arg-type": "207" ++ }, ++ { ++ "name": "query-hv-balloon-status-report", ++ "ret-type": "208", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "HV_BALLOON_STATUS_REPORT", ++ "meta-type": "event", ++ "arg-type": "208" ++ }, ++ { ++ "name": "query-memory-size-summary", ++ "ret-type": "209", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "query-memory-devices", ++ "ret-type": "[210]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "MEMORY_DEVICE_SIZE_CHANGE", ++ "meta-type": "event", ++ "arg-type": "211" ++ }, ++ { ++ "name": "MEM_UNPLUG_ERROR", ++ "meta-type": "event", ++ "arg-type": "212", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "x-query-irq", ++ "ret-type": "213", ++ "meta-type": "command", ++ "arg-type": "0", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-query-jit", ++ "ret-type": "213", ++ "meta-type": "command", ++ "arg-type": "0", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-query-numa", ++ "ret-type": "213", ++ "meta-type": "command", ++ "arg-type": "0", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-query-opcount", ++ "ret-type": "213", ++ "meta-type": "command", ++ "arg-type": "0", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-query-ramblock", ++ "ret-type": "213", ++ "meta-type": "command", ++ "arg-type": "0", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-query-rdma", ++ "ret-type": "213", ++ "meta-type": "command", ++ "arg-type": "0", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-query-roms", ++ "ret-type": "213", ++ "meta-type": "command", ++ "arg-type": "0", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-query-usb", ++ "ret-type": "213", ++ "meta-type": "command", ++ "arg-type": "0", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "dumpdtb", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "214" ++ }, ++ { ++ "name": "query-cpu-model-expansion", ++ "ret-type": "220", ++ "meta-type": "command", ++ "arg-type": "219" ++ }, ++ { ++ "name": "query-cpu-definitions", ++ "ret-type": "[221]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "query-replay", ++ "ret-type": "225", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "replay-break", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "226" ++ }, ++ { ++ "name": "replay-delete-break", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "replay-seek", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "227" ++ }, ++ { ++ "name": "yank", ++ "ret-type": "0", ++ "allow-oob": true, ++ "meta-type": "command", ++ "arg-type": "228" ++ }, ++ { ++ "name": "query-yank", ++ "ret-type": "[229]", ++ "allow-oob": true, ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "add_client", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "230" ++ }, ++ { ++ "name": "query-name", ++ "ret-type": "231", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "query-iothreads", ++ "ret-type": "[232]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "stop", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "cont", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "x-exit-preconfig", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "0", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "human-monitor-command", ++ "ret-type": "str", ++ "meta-type": "command", ++ "arg-type": "233", ++ "features": [ ++ "savevm-monitor-nodes" ++ ] ++ }, ++ { ++ "name": "getfd", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "234" ++ }, ++ { ++ "name": "closefd", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "236" ++ }, ++ { ++ "name": "add-fd", ++ "ret-type": "238", ++ "meta-type": "command", ++ "arg-type": "237" ++ }, ++ { ++ "name": "remove-fd", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "239" ++ }, ++ { ++ "name": "query-fdsets", ++ "ret-type": "[240]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "query-command-line-options", ++ "ret-type": "[242]", ++ "meta-type": "command", ++ "arg-type": "241" ++ }, ++ { ++ "name": "RTC_CHANGE", ++ "meta-type": "event", ++ "arg-type": "243" ++ }, ++ { ++ "name": "VFU_CLIENT_HANGUP", ++ "meta-type": "event", ++ "arg-type": "244" ++ }, ++ { ++ "name": "query-audiodevs", ++ "ret-type": "[256]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "query-acpi-ospm-status", ++ "ret-type": "[257]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "ACPI_DEVICE_OST", ++ "meta-type": "event", ++ "arg-type": "258" ++ }, ++ { ++ "name": "query-pci", ++ "ret-type": "[259]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "query-stats", ++ "ret-type": "[261]", ++ "meta-type": "command", ++ "arg-type": "260" ++ }, ++ { ++ "name": "query-stats-schemas", ++ "ret-type": "[263]", ++ "meta-type": "command", ++ "arg-type": "262" ++ }, ++ { ++ "name": "x-query-virtio", ++ "ret-type": "[264]", ++ "meta-type": "command", ++ "arg-type": "0", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-query-virtio-status", ++ "ret-type": "266", ++ "meta-type": "command", ++ "arg-type": "265", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-query-virtio-queue-status", ++ "ret-type": "268", ++ "meta-type": "command", ++ "arg-type": "267", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-query-virtio-vhost-queue-status", ++ "ret-type": "270", ++ "meta-type": "command", ++ "arg-type": "269", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-query-virtio-queue-element", ++ "ret-type": "272", ++ "meta-type": "command", ++ "arg-type": "271", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "query-cryptodev", ++ "ret-type": "[273]", ++ "meta-type": "command", ++ "arg-type": "0" ++ }, ++ { ++ "name": "cxl-inject-general-media-event", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "274" ++ }, ++ { ++ "name": "cxl-inject-dram-event", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "275" ++ }, ++ { ++ "name": "cxl-inject-memory-module-event", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "276" ++ }, ++ { ++ "name": "cxl-inject-poison", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "277" ++ }, ++ { ++ "name": "cxl-inject-uncorrectable-errors", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "278" ++ }, ++ { ++ "name": "cxl-inject-correctable-error", ++ "ret-type": "0", ++ "meta-type": "command", ++ "arg-type": "279" ++ }, ++ { ++ "name": "0", ++ "members": [ ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "1", ++ "members": [ ++ { ++ "name": "running", ++ "type": "bool" ++ }, ++ { ++ "name": "singlestep", ++ "type": "bool", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "status", ++ "type": "280" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "2", ++ "members": [ ++ { ++ "name": "guest", ++ "type": "bool" ++ }, ++ { ++ "name": "reason", ++ "type": "281" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "3", ++ "members": [ ++ { ++ "name": "guest", ++ "type": "bool" ++ }, ++ { ++ "name": "reason", ++ "type": "281" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "4", ++ "members": [ ++ { ++ "name": "action", ++ "type": "282" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "5", ++ "members": [ ++ { ++ "name": "action", ++ "type": "282" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "6", ++ "members": [ ++ { ++ "name": "reboot", ++ "default": null, ++ "type": "283" ++ }, ++ { ++ "name": "shutdown", ++ "default": null, ++ "type": "284" ++ }, ++ { ++ "name": "panic", ++ "default": null, ++ "type": "285" ++ }, ++ { ++ "name": "watchdog", ++ "default": null, ++ "type": "282" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "7", ++ "members": [ ++ { ++ "name": "action", ++ "type": "286" ++ }, ++ { ++ "name": "info", ++ "default": null, ++ "type": "287" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "8", ++ "members": [ ++ { ++ "name": "action", ++ "type": "286" ++ }, ++ { ++ "name": "info", ++ "default": null, ++ "type": "287" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "9", ++ "members": [ ++ { ++ "name": "recipient", ++ "type": "288" ++ }, ++ { ++ "name": "action", ++ "type": "289" ++ }, ++ { ++ "name": "flags", ++ "type": "290" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "10", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ }, ++ { ++ "name": "status", ++ "type": "291" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "11", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "12", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "13", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "14", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "15", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "16", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[17]", ++ "element-type": "17", ++ "meta-type": "array" ++ }, ++ { ++ "name": "17", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ }, ++ { ++ "name": "type", ++ "type": "292" ++ }, ++ { ++ "name": "status", ++ "type": "291" ++ }, ++ { ++ "name": "current-progress", ++ "type": "int" ++ }, ++ { ++ "name": "total-progress", ++ "type": "int" ++ }, ++ { ++ "name": "error", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[18]", ++ "element-type": "18", ++ "meta-type": "array" ++ }, ++ { ++ "name": "18", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ }, ++ { ++ "name": "connected", ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "19", ++ "members": [ ++ { ++ "name": "device", ++ "default": null, ++ "type": "str", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "id", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "force", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "20", ++ "members": [ ++ { ++ "name": "device", ++ "default": null, ++ "type": "str", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "id", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "force", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "21", ++ "members": [ ++ { ++ "name": "device", ++ "default": null, ++ "type": "str", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "id", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "22", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "23", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ }, ++ { ++ "name": "node-name", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "24", ++ "members": [ ++ { ++ "name": "device", ++ "default": null, ++ "type": "str", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "id", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "filename", ++ "type": "str" ++ }, ++ { ++ "name": "format", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "force", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "read-only-mode", ++ "default": null, ++ "type": "293" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "25", ++ "members": [ ++ { ++ "name": "device", ++ "type": "str" ++ }, ++ { ++ "name": "id", ++ "type": "str" ++ }, ++ { ++ "name": "tray-open", ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "26", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ }, ++ { ++ "name": "connected", ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "27", ++ "members": [ ++ { ++ "name": "device", ++ "default": null, ++ "type": "str", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "id", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "bps", ++ "type": "int" ++ }, ++ { ++ "name": "bps_rd", ++ "type": "int" ++ }, ++ { ++ "name": "bps_wr", ++ "type": "int" ++ }, ++ { ++ "name": "iops", ++ "type": "int" ++ }, ++ { ++ "name": "iops_rd", ++ "type": "int" ++ }, ++ { ++ "name": "iops_wr", ++ "type": "int" ++ }, ++ { ++ "name": "bps_max", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "bps_rd_max", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "bps_wr_max", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "iops_max", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "iops_rd_max", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "iops_wr_max", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "bps_max_length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "bps_rd_max_length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "bps_wr_max_length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "iops_max_length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "iops_rd_max_length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "iops_wr_max_length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "iops_size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "group", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "28", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ }, ++ { ++ "name": "boundaries", ++ "default": null, ++ "type": "[int]" ++ }, ++ { ++ "name": "boundaries-read", ++ "default": null, ++ "type": "[int]" ++ }, ++ { ++ "name": "boundaries-write", ++ "default": null, ++ "type": "[int]" ++ }, ++ { ++ "name": "boundaries-zap", ++ "default": null, ++ "type": "[int]" ++ }, ++ { ++ "name": "boundaries-flush", ++ "default": null, ++ "type": "[int]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[29]", ++ "element-type": "29", ++ "meta-type": "array" ++ }, ++ { ++ "name": "29", ++ "members": [ ++ { ++ "name": "device", ++ "type": "str" ++ }, ++ { ++ "name": "qdev", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "type", ++ "type": "str" ++ }, ++ { ++ "name": "removable", ++ "type": "bool" ++ }, ++ { ++ "name": "locked", ++ "type": "bool" ++ }, ++ { ++ "name": "inserted", ++ "default": null, ++ "type": "41" ++ }, ++ { ++ "name": "tray_open", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "io-status", ++ "default": null, ++ "type": "294" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "30", ++ "members": [ ++ { ++ "name": "query-nodes", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[31]", ++ "element-type": "31", ++ "meta-type": "array" ++ }, ++ { ++ "name": "31", ++ "members": [ ++ { ++ "name": "device", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "qdev", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "node-name", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "stats", ++ "type": "295" ++ }, ++ { ++ "name": "driver-specific", ++ "default": null, ++ "type": "296" ++ }, ++ { ++ "name": "parent", ++ "default": null, ++ "type": "31" ++ }, ++ { ++ "name": "backing", ++ "default": null, ++ "type": "31" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[32]", ++ "element-type": "32", ++ "meta-type": "array" ++ }, ++ { ++ "name": "32", ++ "tag": "type", ++ "variants": [ ++ { ++ "case": "mirror", ++ "type": "297" ++ }, ++ { ++ "case": "commit", ++ "type": "0" ++ }, ++ { ++ "case": "stream", ++ "type": "0" ++ }, ++ { ++ "case": "backup", ++ "type": "0" ++ }, ++ { ++ "case": "create", ++ "type": "0" ++ }, ++ { ++ "case": "amend", ++ "type": "0" ++ }, ++ { ++ "case": "snapshot-load", ++ "type": "0" ++ }, ++ { ++ "case": "snapshot-save", ++ "type": "0" ++ }, ++ { ++ "case": "snapshot-delete", ++ "type": "0" ++ } ++ ], ++ "members": [ ++ { ++ "name": "type", ++ "type": "292" ++ }, ++ { ++ "name": "device", ++ "type": "str" ++ }, ++ { ++ "name": "len", ++ "type": "int" ++ }, ++ { ++ "name": "offset", ++ "type": "int" ++ }, ++ { ++ "name": "busy", ++ "type": "bool" ++ }, ++ { ++ "name": "paused", ++ "type": "bool" ++ }, ++ { ++ "name": "speed", ++ "type": "int" ++ }, ++ { ++ "name": "io-status", ++ "type": "294" ++ }, ++ { ++ "name": "ready", ++ "type": "bool" ++ }, ++ { ++ "name": "status", ++ "type": "291" ++ }, ++ { ++ "name": "auto-finalize", ++ "type": "bool" ++ }, ++ { ++ "name": "auto-dismiss", ++ "type": "bool" ++ }, ++ { ++ "name": "error", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "33", ++ "members": [ ++ { ++ "name": "device", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "node-name", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "34", ++ "members": [ ++ { ++ "name": "device", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "node-name", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "snapshot-file", ++ "type": "str" ++ }, ++ { ++ "name": "snapshot-node-name", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "format", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "mode", ++ "default": null, ++ "type": "298" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "35", ++ "members": [ ++ { ++ "name": "node", ++ "type": "str" ++ }, ++ { ++ "name": "overlay", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "36", ++ "members": [ ++ { ++ "name": "device", ++ "type": "str" ++ }, ++ { ++ "name": "image-node-name", ++ "type": "str" ++ }, ++ { ++ "name": "backing-file", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "37", ++ "members": [ ++ { ++ "name": "job-id", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "device", ++ "type": "str" ++ }, ++ { ++ "name": "base-node", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "base", ++ "default": null, ++ "type": "str", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "top-node", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "top", ++ "default": null, ++ "type": "str", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "backing-file", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "speed", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "on-error", ++ "default": null, ++ "type": "299" ++ }, ++ { ++ "name": "filter-node-name", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "auto-finalize", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "auto-dismiss", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "38", ++ "members": [ ++ { ++ "name": "job-id", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "device", ++ "type": "str" ++ }, ++ { ++ "name": "sync", ++ "type": "300" ++ }, ++ { ++ "name": "speed", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "bitmap", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "bitmap-mode", ++ "default": null, ++ "type": "301" ++ }, ++ { ++ "name": "compress", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "on-source-error", ++ "default": null, ++ "type": "299" ++ }, ++ { ++ "name": "on-target-error", ++ "default": null, ++ "type": "299" ++ }, ++ { ++ "name": "auto-finalize", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "auto-dismiss", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "filter-node-name", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "x-perf", ++ "default": null, ++ "type": "302", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "target", ++ "type": "str" ++ }, ++ { ++ "name": "format", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "mode", ++ "default": null, ++ "type": "298" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "39", ++ "members": [ ++ { ++ "name": "job-id", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "device", ++ "type": "str" ++ }, ++ { ++ "name": "sync", ++ "type": "300" ++ }, ++ { ++ "name": "speed", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "bitmap", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "bitmap-mode", ++ "default": null, ++ "type": "301" ++ }, ++ { ++ "name": "compress", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "on-source-error", ++ "default": null, ++ "type": "299" ++ }, ++ { ++ "name": "on-target-error", ++ "default": null, ++ "type": "299" ++ }, ++ { ++ "name": "auto-finalize", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "auto-dismiss", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "filter-node-name", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "x-perf", ++ "default": null, ++ "type": "302", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "target", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "40", ++ "members": [ ++ { ++ "name": "flat", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[41]", ++ "element-type": "41", ++ "meta-type": "array" ++ }, ++ { ++ "name": "41", ++ "members": [ ++ { ++ "name": "file", ++ "type": "str" ++ }, ++ { ++ "name": "node-name", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "ro", ++ "type": "bool" ++ }, ++ { ++ "name": "drv", ++ "type": "str" ++ }, ++ { ++ "name": "backing_file", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "backing_file_depth", ++ "type": "int" ++ }, ++ { ++ "name": "encrypted", ++ "type": "bool" ++ }, ++ { ++ "name": "detect_zeroes", ++ "type": "303" ++ }, ++ { ++ "name": "bps", ++ "type": "int" ++ }, ++ { ++ "name": "bps_rd", ++ "type": "int" ++ }, ++ { ++ "name": "bps_wr", ++ "type": "int" ++ }, ++ { ++ "name": "iops", ++ "type": "int" ++ }, ++ { ++ "name": "iops_rd", ++ "type": "int" ++ }, ++ { ++ "name": "iops_wr", ++ "type": "int" ++ }, ++ { ++ "name": "image", ++ "type": "304" ++ }, ++ { ++ "name": "bps_max", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "bps_rd_max", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "bps_wr_max", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "iops_max", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "iops_rd_max", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "iops_wr_max", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "bps_max_length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "bps_rd_max_length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "bps_wr_max_length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "iops_max_length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "iops_rd_max_length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "iops_wr_max_length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "iops_size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "group", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "cache", ++ "type": "305" ++ }, ++ { ++ "name": "write_threshold", ++ "type": "int" ++ }, ++ { ++ "name": "dirty-bitmaps", ++ "default": null, ++ "type": "[306]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "42", ++ "members": [ ++ { ++ "name": "nodes", ++ "type": "[307]" ++ }, ++ { ++ "name": "edges", ++ "type": "[308]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "43", ++ "members": [ ++ { ++ "name": "job-id", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "device", ++ "type": "str" ++ }, ++ { ++ "name": "target", ++ "type": "str" ++ }, ++ { ++ "name": "format", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "node-name", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "replaces", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "sync", ++ "type": "300" ++ }, ++ { ++ "name": "mode", ++ "default": null, ++ "type": "298" ++ }, ++ { ++ "name": "speed", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "granularity", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "buf-size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "on-source-error", ++ "default": null, ++ "type": "299" ++ }, ++ { ++ "name": "on-target-error", ++ "default": null, ++ "type": "299" ++ }, ++ { ++ "name": "unmap", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "copy-mode", ++ "default": null, ++ "type": "309" ++ }, ++ { ++ "name": "auto-finalize", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "auto-dismiss", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "44", ++ "members": [ ++ { ++ "name": "node", ++ "type": "str" ++ }, ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "granularity", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "persistent", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "disabled", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "45", ++ "members": [ ++ { ++ "name": "node", ++ "type": "str" ++ }, ++ { ++ "name": "name", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "46", ++ "members": [ ++ { ++ "name": "node", ++ "type": "str" ++ }, ++ { ++ "name": "target", ++ "type": "str" ++ }, ++ { ++ "name": "bitmaps", ++ "type": "[310]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "47", ++ "members": [ ++ { ++ "name": "sha256", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "48", ++ "members": [ ++ { ++ "name": "job-id", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "device", ++ "type": "str" ++ }, ++ { ++ "name": "target", ++ "type": "str" ++ }, ++ { ++ "name": "replaces", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "sync", ++ "type": "300" ++ }, ++ { ++ "name": "speed", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "granularity", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "buf-size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "on-source-error", ++ "default": null, ++ "type": "299" ++ }, ++ { ++ "name": "on-target-error", ++ "default": null, ++ "type": "299" ++ }, ++ { ++ "name": "filter-node-name", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "copy-mode", ++ "default": null, ++ "type": "309" ++ }, ++ { ++ "name": "auto-finalize", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "auto-dismiss", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "49", ++ "members": [ ++ { ++ "name": "job-id", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "device", ++ "type": "str" ++ }, ++ { ++ "name": "base", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "base-node", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "backing-file", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "bottom", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "speed", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "on-error", ++ "default": null, ++ "type": "299" ++ }, ++ { ++ "name": "filter-node-name", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "auto-finalize", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "auto-dismiss", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "50", ++ "members": [ ++ { ++ "name": "device", ++ "type": "str" ++ }, ++ { ++ "name": "speed", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "51", ++ "members": [ ++ { ++ "name": "device", ++ "type": "str" ++ }, ++ { ++ "name": "force", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "52", ++ "members": [ ++ { ++ "name": "device", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "53", ++ "members": [ ++ { ++ "name": "device", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "54", ++ "members": [ ++ { ++ "name": "device", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "55", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "56", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "57", ++ "tag": "type", ++ "variants": [ ++ { ++ "case": "mirror", ++ "type": "311" ++ }, ++ { ++ "case": "commit", ++ "type": "0" ++ }, ++ { ++ "case": "stream", ++ "type": "0" ++ }, ++ { ++ "case": "backup", ++ "type": "0" ++ }, ++ { ++ "case": "create", ++ "type": "0" ++ }, ++ { ++ "case": "amend", ++ "type": "0" ++ }, ++ { ++ "case": "snapshot-load", ++ "type": "0" ++ }, ++ { ++ "case": "snapshot-save", ++ "type": "0" ++ }, ++ { ++ "case": "snapshot-delete", ++ "type": "0" ++ } ++ ], ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ }, ++ { ++ "name": "type", ++ "type": "292" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "58", ++ "tag": "driver", ++ "variants": [ ++ { ++ "case": "blkdebug", ++ "type": "315" ++ }, ++ { ++ "case": "blklogwrites", ++ "type": "316" ++ }, ++ { ++ "case": "blkverify", ++ "type": "317" ++ }, ++ { ++ "case": "blkreplay", ++ "type": "318" ++ }, ++ { ++ "case": "bochs", ++ "type": "319" ++ }, ++ { ++ "case": "cloop", ++ "type": "319" ++ }, ++ { ++ "case": "compress", ++ "type": "319" ++ }, ++ { ++ "case": "copy-before-write", ++ "type": "320" ++ }, ++ { ++ "case": "copy-on-read", ++ "type": "321" ++ }, ++ { ++ "case": "dmg", ++ "type": "319" ++ }, ++ { ++ "case": "file", ++ "type": "322" ++ }, ++ { ++ "case": "ftp", ++ "type": "323" ++ }, ++ { ++ "case": "ftps", ++ "type": "324" ++ }, ++ { ++ "case": "gluster", ++ "type": "325" ++ }, ++ { ++ "case": "host_cdrom", ++ "type": "322" ++ }, ++ { ++ "case": "host_device", ++ "type": "322" ++ }, ++ { ++ "case": "http", ++ "type": "326" ++ }, ++ { ++ "case": "https", ++ "type": "327" ++ }, ++ { ++ "case": "iscsi", ++ "type": "329" ++ }, ++ { ++ "case": "luks", ++ "type": "330" ++ }, ++ { ++ "case": "nbd", ++ "type": "331" ++ }, ++ { ++ "case": "nfs", ++ "type": "332" ++ }, ++ { ++ "case": "null-aio", ++ "type": "333" ++ }, ++ { ++ "case": "null-co", ++ "type": "333" ++ }, ++ { ++ "case": "nvme", ++ "type": "334" ++ }, ++ { ++ "case": "parallels", ++ "type": "319" ++ }, ++ { ++ "case": "preallocate", ++ "type": "336" ++ }, ++ { ++ "case": "qcow2", ++ "type": "337" ++ }, ++ { ++ "case": "qcow", ++ "type": "338" ++ }, ++ { ++ "case": "qed", ++ "type": "339" ++ }, ++ { ++ "case": "quorum", ++ "type": "340" ++ }, ++ { ++ "case": "raw", ++ "type": "341" ++ }, ++ { ++ "case": "rbd", ++ "type": "342" ++ }, ++ { ++ "case": "replication", ++ "type": "343" ++ }, ++ { ++ "case": "snapshot-access", ++ "type": "319" ++ }, ++ { ++ "case": "ssh", ++ "type": "344" ++ }, ++ { ++ "case": "throttle", ++ "type": "345" ++ }, ++ { ++ "case": "vdi", ++ "type": "319" ++ }, ++ { ++ "case": "vhdx", ++ "type": "319" ++ }, ++ { ++ "case": "vmdk", ++ "type": "339" ++ }, ++ { ++ "case": "vpc", ++ "type": "319" ++ }, ++ { ++ "case": "vvfat", ++ "type": "349" ++ } ++ ], ++ "members": [ ++ { ++ "name": "driver", ++ "type": "312" ++ }, ++ { ++ "name": "node-name", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "discard", ++ "default": null, ++ "type": "313" ++ }, ++ { ++ "name": "cache", ++ "default": null, ++ "type": "314" ++ }, ++ { ++ "name": "read-only", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "auto-read-only", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "force-share", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "detect-zeroes", ++ "default": null, ++ "type": "303" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "59", ++ "members": [ ++ { ++ "name": "options", ++ "type": "[58]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "60", ++ "members": [ ++ { ++ "name": "node-name", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "61", ++ "members": [ ++ { ++ "name": "job-id", ++ "type": "str" ++ }, ++ { ++ "name": "options", ++ "type": "350" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "62", ++ "members": [ ++ { ++ "name": "job-id", ++ "type": "str" ++ }, ++ { ++ "name": "node-name", ++ "type": "str" ++ }, ++ { ++ "name": "options", ++ "type": "351" ++ }, ++ { ++ "name": "force", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "63", ++ "members": [ ++ { ++ "name": "device", ++ "type": "str" ++ }, ++ { ++ "name": "node-name", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "msg", ++ "type": "str" ++ }, ++ { ++ "name": "offset", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "fatal", ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "64", ++ "members": [ ++ { ++ "name": "device", ++ "type": "str" ++ }, ++ { ++ "name": "node-name", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "operation", ++ "type": "352" ++ }, ++ { ++ "name": "action", ++ "type": "353" ++ }, ++ { ++ "name": "nospace", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "reason", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "65", ++ "members": [ ++ { ++ "name": "type", ++ "type": "292" ++ }, ++ { ++ "name": "device", ++ "type": "str" ++ }, ++ { ++ "name": "len", ++ "type": "int" ++ }, ++ { ++ "name": "offset", ++ "type": "int" ++ }, ++ { ++ "name": "speed", ++ "type": "int" ++ }, ++ { ++ "name": "error", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "66", ++ "members": [ ++ { ++ "name": "type", ++ "type": "292" ++ }, ++ { ++ "name": "device", ++ "type": "str" ++ }, ++ { ++ "name": "len", ++ "type": "int" ++ }, ++ { ++ "name": "offset", ++ "type": "int" ++ }, ++ { ++ "name": "speed", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "67", ++ "members": [ ++ { ++ "name": "device", ++ "type": "str" ++ }, ++ { ++ "name": "operation", ++ "type": "352" ++ }, ++ { ++ "name": "action", ++ "type": "353" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "68", ++ "members": [ ++ { ++ "name": "type", ++ "type": "292" ++ }, ++ { ++ "name": "device", ++ "type": "str" ++ }, ++ { ++ "name": "len", ++ "type": "int" ++ }, ++ { ++ "name": "offset", ++ "type": "int" ++ }, ++ { ++ "name": "speed", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "69", ++ "members": [ ++ { ++ "name": "type", ++ "type": "292" ++ }, ++ { ++ "name": "id", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "70", ++ "members": [ ++ { ++ "name": "node-name", ++ "type": "str" ++ }, ++ { ++ "name": "amount-exceeded", ++ "type": "int" ++ }, ++ { ++ "name": "write-threshold", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "71", ++ "members": [ ++ { ++ "name": "node-name", ++ "type": "str" ++ }, ++ { ++ "name": "write-threshold", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "72", ++ "members": [ ++ { ++ "name": "parent", ++ "type": "str" ++ }, ++ { ++ "name": "child", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "node", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "73", ++ "members": [ ++ { ++ "name": "node-name", ++ "type": "str" ++ }, ++ { ++ "name": "iothread", ++ "type": "354" ++ }, ++ { ++ "name": "force", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "74", ++ "members": [ ++ { ++ "name": "reference", ++ "type": "str" ++ }, ++ { ++ "name": "sector-num", ++ "type": "int" ++ }, ++ { ++ "name": "sectors-count", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "75", ++ "members": [ ++ { ++ "name": "type", ++ "type": "355" ++ }, ++ { ++ "name": "error", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "node-name", ++ "type": "str" ++ }, ++ { ++ "name": "sector-num", ++ "type": "int" ++ }, ++ { ++ "name": "sectors-count", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "76", ++ "members": [ ++ { ++ "name": "device", ++ "type": "str" ++ }, ++ { ++ "name": "name", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "77", ++ "members": [ ++ { ++ "name": "device", ++ "type": "str" ++ }, ++ { ++ "name": "id", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "name", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "78", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ }, ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "vm-state-size", ++ "type": "int" ++ }, ++ { ++ "name": "date-sec", ++ "type": "int" ++ }, ++ { ++ "name": "date-nsec", ++ "type": "int" ++ }, ++ { ++ "name": "vm-clock-sec", ++ "type": "int" ++ }, ++ { ++ "name": "vm-clock-nsec", ++ "type": "int" ++ }, ++ { ++ "name": "icount", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "79", ++ "members": [ ++ { ++ "name": "addr", ++ "type": "356" ++ }, ++ { ++ "name": "tls-creds", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "tls-authz", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "max-connections", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "80", ++ "members": [ ++ { ++ "name": "name", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "description", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "device", ++ "type": "str" ++ }, ++ { ++ "name": "writable", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "bitmap", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "81", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "mode", ++ "default": null, ++ "type": "357" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "82", ++ "tag": "type", ++ "variants": [ ++ { ++ "case": "nbd", ++ "type": "359" ++ }, ++ { ++ "case": "vhost-user-blk", ++ "type": "360" ++ }, ++ { ++ "case": "fuse", ++ "type": "361" ++ }, ++ { ++ "case": "vduse-blk", ++ "type": "362" ++ } ++ ], ++ "members": [ ++ { ++ "name": "type", ++ "type": "358" ++ }, ++ { ++ "name": "id", ++ "type": "str" ++ }, ++ { ++ "name": "fixed-iothread", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "iothread", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "node-name", ++ "type": "str" ++ }, ++ { ++ "name": "writable", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "writethrough", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "83", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ }, ++ { ++ "name": "mode", ++ "default": null, ++ "type": "357" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "84", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[85]", ++ "element-type": "85", ++ "meta-type": "array" ++ }, ++ { ++ "name": "85", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ }, ++ { ++ "name": "type", ++ "type": "358" ++ }, ++ { ++ "name": "node-name", ++ "type": "str" ++ }, ++ { ++ "name": "shutting-down", ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[86]", ++ "element-type": "86", ++ "meta-type": "array" ++ }, ++ { ++ "name": "86", ++ "members": [ ++ { ++ "name": "label", ++ "type": "str" ++ }, ++ { ++ "name": "filename", ++ "type": "str" ++ }, ++ { ++ "name": "frontend-open", ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[87]", ++ "element-type": "87", ++ "meta-type": "array" ++ }, ++ { ++ "name": "87", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "88", ++ "members": [ ++ { ++ "name": "device", ++ "type": "str" ++ }, ++ { ++ "name": "data", ++ "type": "str" ++ }, ++ { ++ "name": "format", ++ "default": null, ++ "type": "363" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "89", ++ "members": [ ++ { ++ "name": "device", ++ "type": "str" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "format", ++ "default": null, ++ "type": "363" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "str", ++ "json-type": "string", ++ "meta-type": "builtin" ++ }, ++ { ++ "name": "90", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ }, ++ { ++ "name": "backend", ++ "type": "364" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "91", ++ "members": [ ++ { ++ "name": "pty", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "92", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ }, ++ { ++ "name": "backend", ++ "type": "364" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "93", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "94", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "95", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ }, ++ { ++ "name": "open", ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "96", ++ "members": [ ++ { ++ "name": "paging", ++ "type": "bool" ++ }, ++ { ++ "name": "protocol", ++ "type": "str" ++ }, ++ { ++ "name": "detach", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "begin", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "format", ++ "default": null, ++ "type": "365" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "97", ++ "members": [ ++ { ++ "name": "status", ++ "type": "366" ++ }, ++ { ++ "name": "completed", ++ "type": "int" ++ }, ++ { ++ "name": "total", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "98", ++ "members": [ ++ { ++ "name": "result", ++ "type": "97" ++ }, ++ { ++ "name": "error", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "99", ++ "members": [ ++ { ++ "name": "formats", ++ "type": "[365]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "100", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "up", ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "101", ++ "tag": "type", ++ "variants": [ ++ { ++ "case": "nic", ++ "type": "368" ++ }, ++ { ++ "case": "user", ++ "type": "369" ++ }, ++ { ++ "case": "tap", ++ "type": "370" ++ }, ++ { ++ "case": "l2tpv3", ++ "type": "371" ++ }, ++ { ++ "case": "socket", ++ "type": "372" ++ }, ++ { ++ "case": "stream", ++ "type": "373" ++ }, ++ { ++ "case": "dgram", ++ "type": "374" ++ }, ++ { ++ "case": "vde", ++ "type": "375" ++ }, ++ { ++ "case": "bridge", ++ "type": "376" ++ }, ++ { ++ "case": "hubport", ++ "type": "377" ++ }, ++ { ++ "case": "netmap", ++ "type": "378" ++ }, ++ { ++ "case": "vhost-user", ++ "type": "380" ++ }, ++ { ++ "case": "vhost-vdpa", ++ "type": "381" ++ }, ++ { ++ "case": "none", ++ "type": "0" ++ } ++ ], ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ }, ++ { ++ "name": "type", ++ "type": "367" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "102", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "103", ++ "members": [ ++ { ++ "name": "name", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[104]", ++ "element-type": "104", ++ "meta-type": "array" ++ }, ++ { ++ "name": "104", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "promiscuous", ++ "type": "bool" ++ }, ++ { ++ "name": "multicast", ++ "type": "385" ++ }, ++ { ++ "name": "unicast", ++ "type": "385" ++ }, ++ { ++ "name": "vlan", ++ "type": "385" ++ }, ++ { ++ "name": "broadcast-allowed", ++ "type": "bool" ++ }, ++ { ++ "name": "multicast-overflow", ++ "type": "bool" ++ }, ++ { ++ "name": "unicast-overflow", ++ "type": "bool" ++ }, ++ { ++ "name": "main-mac", ++ "type": "str" ++ }, ++ { ++ "name": "vlan-table", ++ "type": "[int]" ++ }, ++ { ++ "name": "unicast-table", ++ "type": "[str]" ++ }, ++ { ++ "name": "multicast-table", ++ "type": "[str]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "105", ++ "members": [ ++ { ++ "name": "name", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "path", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "106", ++ "members": [ ++ { ++ "name": "initial", ++ "type": "int" ++ }, ++ { ++ "name": "max", ++ "type": "int" ++ }, ++ { ++ "name": "rounds", ++ "type": "int" ++ }, ++ { ++ "name": "step", ++ "type": "int" ++ }, ++ { ++ "name": "interfaces", ++ "default": null, ++ "type": "[str]" ++ }, ++ { ++ "name": "id", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "107", ++ "members": [ ++ { ++ "name": "device-id", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "108", ++ "members": [ ++ { ++ "name": "netdev-id", ++ "type": "str" ++ }, ++ { ++ "name": "addr", ++ "type": "386" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "109", ++ "members": [ ++ { ++ "name": "netdev-id", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "110", ++ "members": [ ++ { ++ "name": "netdev", ++ "type": "str" ++ }, ++ { ++ "name": "gid-status", ++ "type": "bool" ++ }, ++ { ++ "name": "subnet-prefix", ++ "type": "int" ++ }, ++ { ++ "name": "interface-id", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "111", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "112", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "id", ++ "type": "int" ++ }, ++ { ++ "name": "ports", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "113", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[114]", ++ "element-type": "114", ++ "meta-type": "array" ++ }, ++ { ++ "name": "114", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "enabled", ++ "type": "bool" ++ }, ++ { ++ "name": "link-up", ++ "type": "bool" ++ }, ++ { ++ "name": "speed", ++ "type": "int" ++ }, ++ { ++ "name": "duplex", ++ "type": "387" ++ }, ++ { ++ "name": "autoneg", ++ "type": "388" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "115", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "tbl-id", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[116]", ++ "element-type": "116", ++ "meta-type": "array" ++ }, ++ { ++ "name": "116", ++ "members": [ ++ { ++ "name": "cookie", ++ "type": "int" ++ }, ++ { ++ "name": "hits", ++ "type": "int" ++ }, ++ { ++ "name": "key", ++ "type": "389" ++ }, ++ { ++ "name": "mask", ++ "type": "390" ++ }, ++ { ++ "name": "action", ++ "type": "391" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "117", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "type", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[118]", ++ "element-type": "118", ++ "meta-type": "array" ++ }, ++ { ++ "name": "118", ++ "members": [ ++ { ++ "name": "id", ++ "type": "int" ++ }, ++ { ++ "name": "type", ++ "type": "int" ++ }, ++ { ++ "name": "vlan-id", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "pport", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "index", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "out-pport", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "group-id", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "set-vlan-id", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "pop-vlan", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "group-ids", ++ "default": null, ++ "type": "[int]" ++ }, ++ { ++ "name": "set-eth-src", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "set-eth-dst", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "ttl-check", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[119]", ++ "element-type": "119", ++ "meta-type": "array" ++ }, ++ { ++ "name": "119", ++ "members": [ ++ { ++ "name": "tpm-tis" ++ }, ++ { ++ "name": "tpm-crb" ++ }, ++ { ++ "name": "tpm-spapr" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "tpm-tis", ++ "tpm-crb", ++ "tpm-spapr" ++ ] ++ }, ++ { ++ "name": "[120]", ++ "element-type": "120", ++ "meta-type": "array" ++ }, ++ { ++ "name": "120", ++ "members": [ ++ { ++ "name": "passthrough" ++ }, ++ { ++ "name": "emulator" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "passthrough", ++ "emulator" ++ ] ++ }, ++ { ++ "name": "[121]", ++ "element-type": "121", ++ "meta-type": "array" ++ }, ++ { ++ "name": "121", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ }, ++ { ++ "name": "model", ++ "type": "119" ++ }, ++ { ++ "name": "options", ++ "type": "392" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "122", ++ "tag": "protocol", ++ "variants": [ ++ { ++ "case": "vnc", ++ "type": "395" ++ }, ++ { ++ "case": "spice", ++ "type": "0" ++ } ++ ], ++ "members": [ ++ { ++ "name": "protocol", ++ "type": "393" ++ }, ++ { ++ "name": "password", ++ "type": "str" ++ }, ++ { ++ "name": "connected", ++ "default": null, ++ "type": "394" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "123", ++ "tag": "protocol", ++ "variants": [ ++ { ++ "case": "vnc", ++ "type": "396" ++ }, ++ { ++ "case": "spice", ++ "type": "0" ++ } ++ ], ++ "members": [ ++ { ++ "name": "protocol", ++ "type": "393" ++ }, ++ { ++ "name": "time", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "124", ++ "members": [ ++ { ++ "name": "filename", ++ "type": "str" ++ }, ++ { ++ "name": "device", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "head", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "format", ++ "default": null, ++ "type": "397" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "125", ++ "members": [ ++ { ++ "name": "enabled", ++ "type": "bool" ++ }, ++ { ++ "name": "migrated", ++ "type": "bool" ++ }, ++ { ++ "name": "host", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "port", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "tls-port", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "auth", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "compiled-version", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "mouse-mode", ++ "type": "398" ++ }, ++ { ++ "name": "channels", ++ "default": null, ++ "type": "[399]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "126", ++ "members": [ ++ { ++ "name": "server", ++ "type": "400" ++ }, ++ { ++ "name": "client", ++ "type": "400" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "127", ++ "members": [ ++ { ++ "name": "server", ++ "type": "401" ++ }, ++ { ++ "name": "client", ++ "type": "399" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "128", ++ "members": [ ++ { ++ "name": "server", ++ "type": "400" ++ }, ++ { ++ "name": "client", ++ "type": "400" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "129", ++ "members": [ ++ { ++ "name": "enabled", ++ "type": "bool" ++ }, ++ { ++ "name": "host", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "family", ++ "default": null, ++ "type": "402" ++ }, ++ { ++ "name": "service", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "auth", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "clients", ++ "default": null, ++ "type": "[403]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[130]", ++ "element-type": "130", ++ "meta-type": "array" ++ }, ++ { ++ "name": "130", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ }, ++ { ++ "name": "server", ++ "type": "[404]" ++ }, ++ { ++ "name": "clients", ++ "type": "[403]" ++ }, ++ { ++ "name": "auth", ++ "type": "405" ++ }, ++ { ++ "name": "vencrypt", ++ "default": null, ++ "type": "406" ++ }, ++ { ++ "name": "display", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "131", ++ "members": [ ++ { ++ "name": "password", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "132", ++ "members": [ ++ { ++ "name": "server", ++ "type": "407" ++ }, ++ { ++ "name": "client", ++ "type": "408" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "133", ++ "members": [ ++ { ++ "name": "server", ++ "type": "407" ++ }, ++ { ++ "name": "client", ++ "type": "403" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "134", ++ "members": [ ++ { ++ "name": "server", ++ "type": "407" ++ }, ++ { ++ "name": "client", ++ "type": "403" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[135]", ++ "element-type": "135", ++ "meta-type": "array" ++ }, ++ { ++ "name": "135", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "index", ++ "type": "int" ++ }, ++ { ++ "name": "current", ++ "type": "bool" ++ }, ++ { ++ "name": "absolute", ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "136", ++ "members": [ ++ { ++ "name": "keys", ++ "type": "[409]" ++ }, ++ { ++ "name": "hold-time", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "137", ++ "members": [ ++ { ++ "name": "device", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "head", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "events", ++ "type": "[410]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "138", ++ "tag": "type", ++ "variants": [ ++ { ++ "case": "gtk", ++ "type": "413" ++ }, ++ { ++ "case": "curses", ++ "type": "415" ++ }, ++ { ++ "case": "dbus", ++ "type": "417" ++ }, ++ { ++ "case": "sdl", ++ "type": "418" ++ }, ++ { ++ "case": "default", ++ "type": "0" ++ }, ++ { ++ "case": "none", ++ "type": "0" ++ }, ++ { ++ "case": "spice-app", ++ "type": "0" ++ } ++ ], ++ "members": [ ++ { ++ "name": "type", ++ "type": "411" ++ }, ++ { ++ "name": "full-screen", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "window-close", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "show-cursor", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "gl", ++ "default": null, ++ "type": "412" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "139", ++ "tag": "type", ++ "variants": [ ++ { ++ "case": "vnc", ++ "type": "420" ++ } ++ ], ++ "members": [ ++ { ++ "name": "type", ++ "type": "419" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "140", ++ "tag": "type", ++ "variants": [ ++ { ++ "case": "vnc", ++ "type": "422" ++ } ++ ], ++ "members": [ ++ { ++ "name": "type", ++ "type": "421" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "141", ++ "members": [ ++ { ++ "name": "protocol", ++ "type": "str" ++ }, ++ { ++ "name": "hostname", ++ "type": "str" ++ }, ++ { ++ "name": "port", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "tls-port", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "cert-subject", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "142", ++ "members": [ ++ { ++ "name": "status", ++ "default": null, ++ "type": "423" ++ }, ++ { ++ "name": "ram", ++ "default": null, ++ "type": "424" ++ }, ++ { ++ "name": "disk", ++ "default": null, ++ "type": "424", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "vfio", ++ "default": null, ++ "type": "425" ++ }, ++ { ++ "name": "xbzrle-cache", ++ "default": null, ++ "type": "426" ++ }, ++ { ++ "name": "total-time", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "expected-downtime", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "downtime", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "setup-time", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "cpu-throttle-percentage", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "error-desc", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "blocked-reasons", ++ "default": null, ++ "type": "[str]" ++ }, ++ { ++ "name": "postcopy-blocktime", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "postcopy-vcpu-blocktime", ++ "default": null, ++ "type": "[int]" ++ }, ++ { ++ "name": "compression", ++ "default": null, ++ "type": "427", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "socket-address", ++ "default": null, ++ "type": "[386]" ++ }, ++ { ++ "name": "dirty-limit-throttle-time-per-round", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "dirty-limit-ring-full-time", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "143", ++ "members": [ ++ { ++ "name": "capabilities", ++ "type": "[144]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[144]", ++ "element-type": "144", ++ "meta-type": "array" ++ }, ++ { ++ "name": "144", ++ "members": [ ++ { ++ "name": "capability", ++ "type": "428" ++ }, ++ { ++ "name": "state", ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "145", ++ "members": [ ++ { ++ "name": "announce-initial", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "announce-max", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "announce-rounds", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "announce-step", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "compress-level", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "compress-threads", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "compress-wait-thread", ++ "default": null, ++ "type": "bool", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "decompress-threads", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "throttle-trigger-threshold", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "cpu-throttle-initial", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "cpu-throttle-increment", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "cpu-throttle-tailslow", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "tls-creds", ++ "default": null, ++ "type": "354" ++ }, ++ { ++ "name": "tls-hostname", ++ "default": null, ++ "type": "354" ++ }, ++ { ++ "name": "tls-authz", ++ "default": null, ++ "type": "354" ++ }, ++ { ++ "name": "max-bandwidth", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "avail-switchover-bandwidth", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "downtime-limit", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "x-checkpoint-delay", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "block-incremental", ++ "default": null, ++ "type": "bool", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "multifd-channels", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "xbzrle-cache-size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "max-postcopy-bandwidth", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "max-cpu-throttle", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "multifd-compression", ++ "default": null, ++ "type": "429" ++ }, ++ { ++ "name": "multifd-zlib-level", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "multifd-zstd-level", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "block-bitmap-mapping", ++ "default": null, ++ "type": "[430]" ++ }, ++ { ++ "name": "x-vcpu-dirty-limit-period", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "vcpu-dirty-limit", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "mode", ++ "default": null, ++ "type": "431" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "146", ++ "members": [ ++ { ++ "name": "announce-initial", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "announce-max", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "announce-rounds", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "announce-step", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "compress-level", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "compress-threads", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "compress-wait-thread", ++ "default": null, ++ "type": "bool", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "decompress-threads", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "throttle-trigger-threshold", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "cpu-throttle-initial", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "cpu-throttle-increment", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "cpu-throttle-tailslow", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "tls-creds", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "tls-hostname", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "tls-authz", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "max-bandwidth", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "avail-switchover-bandwidth", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "downtime-limit", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "x-checkpoint-delay", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "block-incremental", ++ "default": null, ++ "type": "bool", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "multifd-channels", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "xbzrle-cache-size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "max-postcopy-bandwidth", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "max-cpu-throttle", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "multifd-compression", ++ "default": null, ++ "type": "429" ++ }, ++ { ++ "name": "multifd-zlib-level", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "multifd-zstd-level", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "block-bitmap-mapping", ++ "default": null, ++ "type": "[430]" ++ }, ++ { ++ "name": "x-vcpu-dirty-limit-period", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "vcpu-dirty-limit", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "mode", ++ "default": null, ++ "type": "431" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "147", ++ "members": [ ++ { ++ "name": "status", ++ "type": "423" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "148", ++ "members": [ ++ { ++ "name": "pass", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "149", ++ "members": [ ++ { ++ "name": "mode", ++ "type": "432" ++ }, ++ { ++ "name": "reason", ++ "type": "433" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "150", ++ "members": [ ++ { ++ "name": "state", ++ "type": "423" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "151", ++ "members": [ ++ { ++ "name": "uri", ++ "type": "str" ++ }, ++ { ++ "name": "channels", ++ "default": null, ++ "type": "[434]" ++ }, ++ { ++ "name": "blk", ++ "default": null, ++ "type": "bool", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "inc", ++ "default": null, ++ "type": "bool", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "detach", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "resume", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "152", ++ "members": [ ++ { ++ "name": "uri", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "channels", ++ "default": null, ++ "type": "[434]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "153", ++ "members": [ ++ { ++ "name": "filename", ++ "type": "str" ++ }, ++ { ++ "name": "live", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "154", ++ "members": [ ++ { ++ "name": "enable", ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "155", ++ "members": [ ++ { ++ "name": "filename", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "156", ++ "members": [ ++ { ++ "name": "enable", ++ "type": "bool" ++ }, ++ { ++ "name": "primary", ++ "type": "bool" ++ }, ++ { ++ "name": "failover", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "157", ++ "members": [ ++ { ++ "name": "error", ++ "type": "bool" ++ }, ++ { ++ "name": "desc", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "158", ++ "members": [ ++ { ++ "name": "mode", ++ "type": "432" ++ }, ++ { ++ "name": "last-mode", ++ "type": "432" ++ }, ++ { ++ "name": "reason", ++ "type": "433" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "159", ++ "members": [ ++ { ++ "name": "uri", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "160", ++ "members": [ ++ { ++ "name": "device-id", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "161", ++ "members": [ ++ { ++ "name": "calc-time", ++ "type": "int" ++ }, ++ { ++ "name": "calc-time-unit", ++ "default": null, ++ "type": "435" ++ }, ++ { ++ "name": "sample-pages", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "mode", ++ "default": null, ++ "type": "436" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "162", ++ "members": [ ++ { ++ "name": "calc-time-unit", ++ "default": null, ++ "type": "435" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "163", ++ "members": [ ++ { ++ "name": "dirty-rate", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "status", ++ "type": "437" ++ }, ++ { ++ "name": "start-time", ++ "type": "int" ++ }, ++ { ++ "name": "calc-time", ++ "type": "int" ++ }, ++ { ++ "name": "calc-time-unit", ++ "type": "435" ++ }, ++ { ++ "name": "sample-pages", ++ "type": "int" ++ }, ++ { ++ "name": "mode", ++ "type": "436" ++ }, ++ { ++ "name": "vcpu-dirty-rate", ++ "default": null, ++ "type": "[438]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "164", ++ "members": [ ++ { ++ "name": "cpu-index", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "dirty-rate", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "165", ++ "members": [ ++ { ++ "name": "cpu-index", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[166]", ++ "element-type": "166", ++ "meta-type": "array" ++ }, ++ { ++ "name": "166", ++ "members": [ ++ { ++ "name": "cpu-index", ++ "type": "int" ++ }, ++ { ++ "name": "limit-rate", ++ "type": "int" ++ }, ++ { ++ "name": "current-rate", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[167]", ++ "element-type": "167", ++ "meta-type": "array" ++ }, ++ { ++ "name": "167", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "thread-id", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "168", ++ "members": [ ++ { ++ "name": "job-id", ++ "type": "str" ++ }, ++ { ++ "name": "tag", ++ "type": "str" ++ }, ++ { ++ "name": "vmstate", ++ "type": "str" ++ }, ++ { ++ "name": "devices", ++ "type": "[str]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "169", ++ "members": [ ++ { ++ "name": "job-id", ++ "type": "str" ++ }, ++ { ++ "name": "tag", ++ "type": "str" ++ }, ++ { ++ "name": "vmstate", ++ "type": "str" ++ }, ++ { ++ "name": "devices", ++ "type": "[str]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "170", ++ "members": [ ++ { ++ "name": "job-id", ++ "type": "str" ++ }, ++ { ++ "name": "tag", ++ "type": "str" ++ }, ++ { ++ "name": "devices", ++ "type": "[str]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "171", ++ "members": [ ++ { ++ "name": "actions", ++ "type": "[439]" ++ }, ++ { ++ "name": "properties", ++ "default": null, ++ "type": "440" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "172", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "vcpu", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "deprecated" ++ ] ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[173]", ++ "element-type": "173", ++ "meta-type": "array" ++ }, ++ { ++ "name": "173", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "state", ++ "type": "441" ++ }, ++ { ++ "name": "vcpu", ++ "type": "bool", ++ "features": [ ++ "deprecated" ++ ] ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "174", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "enable", ++ "type": "bool" ++ }, ++ { ++ "name": "ignore-unavailable", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "vcpu", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "deprecated" ++ ] ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "175", ++ "members": [ ++ { ++ "name": "enable", ++ "default": null, ++ "type": "[442]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "176", ++ "members": [ ++ { ++ "name": "qemu", ++ "type": "443" ++ }, ++ { ++ "name": "package", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[177]", ++ "element-type": "177", ++ "meta-type": "array" ++ }, ++ { ++ "name": "177", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[178]", ++ "element-type": "178", ++ "meta-type": "array" ++ }, ++ { ++ "name": "178", ++ "tag": "meta-type", ++ "variants": [ ++ { ++ "case": "builtin", ++ "type": "445" ++ }, ++ { ++ "case": "enum", ++ "type": "446" ++ }, ++ { ++ "case": "array", ++ "type": "447" ++ }, ++ { ++ "case": "object", ++ "type": "448" ++ }, ++ { ++ "case": "alternate", ++ "type": "449" ++ }, ++ { ++ "case": "command", ++ "type": "450" ++ }, ++ { ++ "case": "event", ++ "type": "451" ++ } ++ ], ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "meta-type", ++ "type": "444" ++ }, ++ { ++ "name": "features", ++ "default": null, ++ "type": "[str]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "179", ++ "members": [ ++ { ++ "name": "path", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[180]", ++ "element-type": "180", ++ "meta-type": "array" ++ }, ++ { ++ "name": "180", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "type", ++ "type": "str" ++ }, ++ { ++ "name": "description", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "default-value", ++ "default": null, ++ "type": "any" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "181", ++ "members": [ ++ { ++ "name": "path", ++ "type": "str" ++ }, ++ { ++ "name": "property", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "any", ++ "json-type": "value", ++ "meta-type": "builtin" ++ }, ++ { ++ "name": "182", ++ "members": [ ++ { ++ "name": "path", ++ "type": "str" ++ }, ++ { ++ "name": "property", ++ "type": "str" ++ }, ++ { ++ "name": "value", ++ "type": "any" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "183", ++ "members": [ ++ { ++ "name": "implements", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "abstract", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[184]", ++ "element-type": "184", ++ "meta-type": "array" ++ }, ++ { ++ "name": "184", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "abstract", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "parent", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "185", ++ "members": [ ++ { ++ "name": "typename", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "186", ++ "tag": "qom-type", ++ "variants": [ ++ { ++ "case": "authz-list", ++ "type": "453" ++ }, ++ { ++ "case": "authz-listfile", ++ "type": "454" ++ }, ++ { ++ "case": "authz-pam", ++ "type": "455" ++ }, ++ { ++ "case": "authz-simple", ++ "type": "456" ++ }, ++ { ++ "case": "can-host-socketcan", ++ "type": "457" ++ }, ++ { ++ "case": "colo-compare", ++ "type": "458" ++ }, ++ { ++ "case": "cryptodev-backend", ++ "type": "459" ++ }, ++ { ++ "case": "cryptodev-backend-builtin", ++ "type": "459" ++ }, ++ { ++ "case": "cryptodev-backend-lkcf", ++ "type": "459" ++ }, ++ { ++ "case": "cryptodev-vhost-user", ++ "type": "460" ++ }, ++ { ++ "case": "dbus-vmstate", ++ "type": "461" ++ }, ++ { ++ "case": "filter-buffer", ++ "type": "462" ++ }, ++ { ++ "case": "filter-dump", ++ "type": "463" ++ }, ++ { ++ "case": "filter-mirror", ++ "type": "464" ++ }, ++ { ++ "case": "filter-redirector", ++ "type": "465" ++ }, ++ { ++ "case": "filter-replay", ++ "type": "466" ++ }, ++ { ++ "case": "filter-rewriter", ++ "type": "467" ++ }, ++ { ++ "case": "input-barrier", ++ "type": "468" ++ }, ++ { ++ "case": "input-linux", ++ "type": "469" ++ }, ++ { ++ "case": "iothread", ++ "type": "470" ++ }, ++ { ++ "case": "main-loop", ++ "type": "471" ++ }, ++ { ++ "case": "memory-backend-epc", ++ "type": "472" ++ }, ++ { ++ "case": "memory-backend-file", ++ "type": "473" ++ }, ++ { ++ "case": "memory-backend-memfd", ++ "type": "474" ++ }, ++ { ++ "case": "memory-backend-ram", ++ "type": "475" ++ }, ++ { ++ "case": "pr-manager-helper", ++ "type": "476" ++ }, ++ { ++ "case": "qtest", ++ "type": "477" ++ }, ++ { ++ "case": "rng-builtin", ++ "type": "478" ++ }, ++ { ++ "case": "rng-egd", ++ "type": "479" ++ }, ++ { ++ "case": "rng-random", ++ "type": "480" ++ }, ++ { ++ "case": "secret", ++ "type": "481" ++ }, ++ { ++ "case": "secret_keyring", ++ "type": "482" ++ }, ++ { ++ "case": "sev-guest", ++ "type": "483" ++ }, ++ { ++ "case": "thread-context", ++ "type": "484" ++ }, ++ { ++ "case": "throttle-group", ++ "type": "485" ++ }, ++ { ++ "case": "tls-creds-anon", ++ "type": "486" ++ }, ++ { ++ "case": "tls-creds-psk", ++ "type": "487" ++ }, ++ { ++ "case": "tls-creds-x509", ++ "type": "488" ++ }, ++ { ++ "case": "tls-cipher-suites", ++ "type": "489" ++ }, ++ { ++ "case": "x-remote-object", ++ "type": "490" ++ }, ++ { ++ "case": "x-vfio-user-server", ++ "type": "491" ++ }, ++ { ++ "case": "can-bus", ++ "type": "0" ++ }, ++ { ++ "case": "pef-guest", ++ "type": "0" ++ }, ++ { ++ "case": "s390-pv-guest", ++ "type": "0" ++ } ++ ], ++ "members": [ ++ { ++ "name": "qom-type", ++ "type": "452" ++ }, ++ { ++ "name": "id", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "187", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "188", ++ "members": [ ++ { ++ "name": "typename", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "189", ++ "members": [ ++ { ++ "name": "driver", ++ "type": "str" ++ }, ++ { ++ "name": "bus", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "id", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "190", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "191", ++ "members": [ ++ { ++ "name": "device", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "path", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "192", ++ "members": [ ++ { ++ "name": "device", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "path", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[193]", ++ "element-type": "193", ++ "meta-type": "array" ++ }, ++ { ++ "name": "193", ++ "tag": "target", ++ "variants": [ ++ { ++ "case": "s390x", ++ "type": "494" ++ }, ++ { ++ "case": "aarch64", ++ "type": "0" ++ }, ++ { ++ "case": "alpha", ++ "type": "0" ++ }, ++ { ++ "case": "arm", ++ "type": "0" ++ }, ++ { ++ "case": "avr", ++ "type": "0" ++ }, ++ { ++ "case": "cris", ++ "type": "0" ++ }, ++ { ++ "case": "hppa", ++ "type": "0" ++ }, ++ { ++ "case": "i386", ++ "type": "0" ++ }, ++ { ++ "case": "loongarch64", ++ "type": "0" ++ }, ++ { ++ "case": "m68k", ++ "type": "0" ++ }, ++ { ++ "case": "microblaze", ++ "type": "0" ++ }, ++ { ++ "case": "microblazeel", ++ "type": "0" ++ }, ++ { ++ "case": "mips", ++ "type": "0" ++ }, ++ { ++ "case": "mips64", ++ "type": "0" ++ }, ++ { ++ "case": "mips64el", ++ "type": "0" ++ }, ++ { ++ "case": "mipsel", ++ "type": "0" ++ }, ++ { ++ "case": "nios2", ++ "type": "0" ++ }, ++ { ++ "case": "or1k", ++ "type": "0" ++ }, ++ { ++ "case": "ppc", ++ "type": "0" ++ }, ++ { ++ "case": "ppc64", ++ "type": "0" ++ }, ++ { ++ "case": "riscv32", ++ "type": "0" ++ }, ++ { ++ "case": "riscv64", ++ "type": "0" ++ }, ++ { ++ "case": "rx", ++ "type": "0" ++ }, ++ { ++ "case": "sh4", ++ "type": "0" ++ }, ++ { ++ "case": "sh4eb", ++ "type": "0" ++ }, ++ { ++ "case": "sparc", ++ "type": "0" ++ }, ++ { ++ "case": "sparc64", ++ "type": "0" ++ }, ++ { ++ "case": "tricore", ++ "type": "0" ++ }, ++ { ++ "case": "x86_64", ++ "type": "0" ++ }, ++ { ++ "case": "xtensa", ++ "type": "0" ++ }, ++ { ++ "case": "xtensaeb", ++ "type": "0" ++ } ++ ], ++ "members": [ ++ { ++ "name": "cpu-index", ++ "type": "int" ++ }, ++ { ++ "name": "qom-path", ++ "type": "str" ++ }, ++ { ++ "name": "thread-id", ++ "type": "int" ++ }, ++ { ++ "name": "props", ++ "default": null, ++ "type": "492" ++ }, ++ { ++ "name": "target", ++ "type": "493" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[194]", ++ "element-type": "194", ++ "meta-type": "array" ++ }, ++ { ++ "name": "194", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "alias", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "is-default", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "cpu-max", ++ "type": "int" ++ }, ++ { ++ "name": "hotpluggable-cpus", ++ "type": "bool" ++ }, ++ { ++ "name": "numa-mem-supported", ++ "type": "bool" ++ }, ++ { ++ "name": "deprecated", ++ "type": "bool" ++ }, ++ { ++ "name": "default-cpu-type", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "default-ram-id", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "acpi", ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "195", ++ "members": [ ++ { ++ "name": "wakeup-suspend-support", ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "196", ++ "members": [ ++ { ++ "name": "arch", ++ "type": "493" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "197", ++ "members": [ ++ { ++ "name": "UUID", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "198", ++ "members": [ ++ { ++ "name": "guid", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "199", ++ "members": [ ++ { ++ "name": "enabled", ++ "type": "bool" ++ }, ++ { ++ "name": "present", ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "200", ++ "members": [ ++ { ++ "name": "val", ++ "type": "int" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "filename", ++ "type": "str" ++ }, ++ { ++ "name": "cpu-index", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "201", ++ "members": [ ++ { ++ "name": "val", ++ "type": "int" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "filename", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[202]", ++ "element-type": "202", ++ "meta-type": "array" ++ }, ++ { ++ "name": "202", ++ "members": [ ++ { ++ "name": "id", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "merge", ++ "type": "bool" ++ }, ++ { ++ "name": "dump", ++ "type": "bool" ++ }, ++ { ++ "name": "prealloc", ++ "type": "bool" ++ }, ++ { ++ "name": "share", ++ "type": "bool" ++ }, ++ { ++ "name": "reserve", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "host-nodes", ++ "type": "[int]" ++ }, ++ { ++ "name": "policy", ++ "type": "495" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[203]", ++ "element-type": "203", ++ "meta-type": "array" ++ }, ++ { ++ "name": "203", ++ "members": [ ++ { ++ "name": "type", ++ "type": "str" ++ }, ++ { ++ "name": "vcpus-count", ++ "type": "int" ++ }, ++ { ++ "name": "props", ++ "type": "492" ++ }, ++ { ++ "name": "qom-path", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "204", ++ "tag": "type", ++ "variants": [ ++ { ++ "case": "node", ++ "type": "497" ++ }, ++ { ++ "case": "dist", ++ "type": "498" ++ }, ++ { ++ "case": "cpu", ++ "type": "499" ++ }, ++ { ++ "case": "hmat-lb", ++ "type": "500" ++ }, ++ { ++ "case": "hmat-cache", ++ "type": "501" ++ } ++ ], ++ "members": [ ++ { ++ "name": "type", ++ "type": "496" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "205", ++ "members": [ ++ { ++ "name": "value", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "206", ++ "members": [ ++ { ++ "name": "actual", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "207", ++ "members": [ ++ { ++ "name": "actual", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "208", ++ "members": [ ++ { ++ "name": "committed", ++ "type": "int" ++ }, ++ { ++ "name": "available", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "209", ++ "members": [ ++ { ++ "name": "base-memory", ++ "type": "int" ++ }, ++ { ++ "name": "plugged-memory", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[210]", ++ "element-type": "210", ++ "meta-type": "array" ++ }, ++ { ++ "name": "210", ++ "tag": "type", ++ "variants": [ ++ { ++ "case": "dimm", ++ "type": "503" ++ }, ++ { ++ "case": "nvdimm", ++ "type": "503" ++ }, ++ { ++ "case": "virtio-pmem", ++ "type": "504" ++ }, ++ { ++ "case": "virtio-mem", ++ "type": "505" ++ }, ++ { ++ "case": "sgx-epc", ++ "type": "506" ++ }, ++ { ++ "case": "hv-balloon", ++ "type": "507" ++ } ++ ], ++ "members": [ ++ { ++ "name": "type", ++ "type": "502" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "211", ++ "members": [ ++ { ++ "name": "id", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "qom-path", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "212", ++ "members": [ ++ { ++ "name": "device", ++ "type": "str" ++ }, ++ { ++ "name": "msg", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "213", ++ "members": [ ++ { ++ "name": "human-readable-text", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "214", ++ "members": [ ++ { ++ "name": "filename", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "219", ++ "members": [ ++ { ++ "name": "type", ++ "type": "510" ++ }, ++ { ++ "name": "model", ++ "type": "508" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "220", ++ "members": [ ++ { ++ "name": "model", ++ "type": "508" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[221]", ++ "element-type": "221", ++ "meta-type": "array" ++ }, ++ { ++ "name": "221", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "migration-safe", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "static", ++ "type": "bool" ++ }, ++ { ++ "name": "unavailable-features", ++ "default": null, ++ "type": "[str]" ++ }, ++ { ++ "name": "typename", ++ "type": "str" ++ }, ++ { ++ "name": "alias-of", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "deprecated", ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "225", ++ "members": [ ++ { ++ "name": "mode", ++ "type": "513" ++ }, ++ { ++ "name": "filename", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "icount", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "226", ++ "members": [ ++ { ++ "name": "icount", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "227", ++ "members": [ ++ { ++ "name": "icount", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "228", ++ "members": [ ++ { ++ "name": "instances", ++ "type": "[229]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[229]", ++ "element-type": "229", ++ "meta-type": "array" ++ }, ++ { ++ "name": "229", ++ "tag": "type", ++ "variants": [ ++ { ++ "case": "block-node", ++ "type": "515" ++ }, ++ { ++ "case": "chardev", ++ "type": "516" ++ }, ++ { ++ "case": "migration", ++ "type": "0" ++ } ++ ], ++ "members": [ ++ { ++ "name": "type", ++ "type": "514" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "230", ++ "members": [ ++ { ++ "name": "protocol", ++ "type": "str" ++ }, ++ { ++ "name": "fdname", ++ "type": "str" ++ }, ++ { ++ "name": "skipauth", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "tls", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "231", ++ "members": [ ++ { ++ "name": "name", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[232]", ++ "element-type": "232", ++ "meta-type": "array" ++ }, ++ { ++ "name": "232", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ }, ++ { ++ "name": "thread-id", ++ "type": "int" ++ }, ++ { ++ "name": "poll-max-ns", ++ "type": "int" ++ }, ++ { ++ "name": "poll-grow", ++ "type": "int" ++ }, ++ { ++ "name": "poll-shrink", ++ "type": "int" ++ }, ++ { ++ "name": "aio-max-batch", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "233", ++ "members": [ ++ { ++ "name": "command-line", ++ "type": "str" ++ }, ++ { ++ "name": "cpu-index", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "234", ++ "members": [ ++ { ++ "name": "fdname", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "236", ++ "members": [ ++ { ++ "name": "fdname", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "237", ++ "members": [ ++ { ++ "name": "fdset-id", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "opaque", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "238", ++ "members": [ ++ { ++ "name": "fdset-id", ++ "type": "int" ++ }, ++ { ++ "name": "fd", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "239", ++ "members": [ ++ { ++ "name": "fdset-id", ++ "type": "int" ++ }, ++ { ++ "name": "fd", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[240]", ++ "element-type": "240", ++ "meta-type": "array" ++ }, ++ { ++ "name": "240", ++ "members": [ ++ { ++ "name": "fdset-id", ++ "type": "int" ++ }, ++ { ++ "name": "fds", ++ "type": "[517]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "241", ++ "members": [ ++ { ++ "name": "option", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[242]", ++ "element-type": "242", ++ "meta-type": "array" ++ }, ++ { ++ "name": "242", ++ "members": [ ++ { ++ "name": "option", ++ "type": "str" ++ }, ++ { ++ "name": "parameters", ++ "type": "[518]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "243", ++ "members": [ ++ { ++ "name": "offset", ++ "type": "int" ++ }, ++ { ++ "name": "qom-path", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "244", ++ "members": [ ++ { ++ "name": "vfu-id", ++ "type": "str" ++ }, ++ { ++ "name": "vfu-qom-path", ++ "type": "str" ++ }, ++ { ++ "name": "dev-id", ++ "type": "str" ++ }, ++ { ++ "name": "dev-qom-path", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[256]", ++ "element-type": "256", ++ "meta-type": "array" ++ }, ++ { ++ "name": "256", ++ "tag": "driver", ++ "variants": [ ++ { ++ "case": "none", ++ "type": "523" ++ }, ++ { ++ "case": "alsa", ++ "type": "524" ++ }, ++ { ++ "case": "dbus", ++ "type": "523" ++ }, ++ { ++ "case": "jack", ++ "type": "527" ++ }, ++ { ++ "case": "oss", ++ "type": "528" ++ }, ++ { ++ "case": "pa", ++ "type": "529" ++ }, ++ { ++ "case": "pipewire", ++ "type": "530" ++ }, ++ { ++ "case": "sdl", ++ "type": "531" ++ }, ++ { ++ "case": "spice", ++ "type": "523" ++ }, ++ { ++ "case": "wav", ++ "type": "533" ++ } ++ ], ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ }, ++ { ++ "name": "driver", ++ "type": "522" ++ }, ++ { ++ "name": "timer-period", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[257]", ++ "element-type": "257", ++ "meta-type": "array" ++ }, ++ { ++ "name": "257", ++ "members": [ ++ { ++ "name": "device", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "slot", ++ "type": "str" ++ }, ++ { ++ "name": "slot-type", ++ "type": "534" ++ }, ++ { ++ "name": "source", ++ "type": "int" ++ }, ++ { ++ "name": "status", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "258", ++ "members": [ ++ { ++ "name": "info", ++ "type": "257" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[259]", ++ "element-type": "259", ++ "meta-type": "array" ++ }, ++ { ++ "name": "259", ++ "members": [ ++ { ++ "name": "bus", ++ "type": "int" ++ }, ++ { ++ "name": "devices", ++ "type": "[535]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "260", ++ "tag": "target", ++ "variants": [ ++ { ++ "case": "vcpu", ++ "type": "538" ++ }, ++ { ++ "case": "vm", ++ "type": "0" ++ }, ++ { ++ "case": "cryptodev", ++ "type": "0" ++ } ++ ], ++ "members": [ ++ { ++ "name": "target", ++ "type": "536" ++ }, ++ { ++ "name": "providers", ++ "default": null, ++ "type": "[537]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[261]", ++ "element-type": "261", ++ "meta-type": "array" ++ }, ++ { ++ "name": "261", ++ "members": [ ++ { ++ "name": "provider", ++ "type": "539" ++ }, ++ { ++ "name": "qom-path", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "stats", ++ "type": "[540]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "262", ++ "members": [ ++ { ++ "name": "provider", ++ "default": null, ++ "type": "539" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[263]", ++ "element-type": "263", ++ "meta-type": "array" ++ }, ++ { ++ "name": "263", ++ "members": [ ++ { ++ "name": "provider", ++ "type": "539" ++ }, ++ { ++ "name": "target", ++ "type": "536" ++ }, ++ { ++ "name": "stats", ++ "type": "[541]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[264]", ++ "element-type": "264", ++ "meta-type": "array" ++ }, ++ { ++ "name": "264", ++ "members": [ ++ { ++ "name": "path", ++ "type": "str" ++ }, ++ { ++ "name": "name", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "265", ++ "members": [ ++ { ++ "name": "path", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "266", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "device-id", ++ "type": "int" ++ }, ++ { ++ "name": "vhost-started", ++ "type": "bool" ++ }, ++ { ++ "name": "device-endian", ++ "type": "str" ++ }, ++ { ++ "name": "guest-features", ++ "type": "542" ++ }, ++ { ++ "name": "host-features", ++ "type": "542" ++ }, ++ { ++ "name": "backend-features", ++ "type": "542" ++ }, ++ { ++ "name": "num-vqs", ++ "type": "int" ++ }, ++ { ++ "name": "status", ++ "type": "543" ++ }, ++ { ++ "name": "isr", ++ "type": "int" ++ }, ++ { ++ "name": "queue-sel", ++ "type": "int" ++ }, ++ { ++ "name": "vm-running", ++ "type": "bool" ++ }, ++ { ++ "name": "broken", ++ "type": "bool" ++ }, ++ { ++ "name": "disabled", ++ "type": "bool" ++ }, ++ { ++ "name": "use-started", ++ "type": "bool" ++ }, ++ { ++ "name": "started", ++ "type": "bool" ++ }, ++ { ++ "name": "start-on-kick", ++ "type": "bool" ++ }, ++ { ++ "name": "disable-legacy-check", ++ "type": "bool" ++ }, ++ { ++ "name": "bus-name", ++ "type": "str" ++ }, ++ { ++ "name": "use-guest-notifier-mask", ++ "type": "bool" ++ }, ++ { ++ "name": "vhost-dev", ++ "default": null, ++ "type": "544" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "267", ++ "members": [ ++ { ++ "name": "path", ++ "type": "str" ++ }, ++ { ++ "name": "queue", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "268", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "queue-index", ++ "type": "int" ++ }, ++ { ++ "name": "inuse", ++ "type": "int" ++ }, ++ { ++ "name": "vring-num", ++ "type": "int" ++ }, ++ { ++ "name": "vring-num-default", ++ "type": "int" ++ }, ++ { ++ "name": "vring-align", ++ "type": "int" ++ }, ++ { ++ "name": "vring-desc", ++ "type": "int" ++ }, ++ { ++ "name": "vring-avail", ++ "type": "int" ++ }, ++ { ++ "name": "vring-used", ++ "type": "int" ++ }, ++ { ++ "name": "last-avail-idx", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "shadow-avail-idx", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "used-idx", ++ "type": "int" ++ }, ++ { ++ "name": "signalled-used", ++ "type": "int" ++ }, ++ { ++ "name": "signalled-used-valid", ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "269", ++ "members": [ ++ { ++ "name": "path", ++ "type": "str" ++ }, ++ { ++ "name": "queue", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "270", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "kick", ++ "type": "int" ++ }, ++ { ++ "name": "call", ++ "type": "int" ++ }, ++ { ++ "name": "desc", ++ "type": "int" ++ }, ++ { ++ "name": "avail", ++ "type": "int" ++ }, ++ { ++ "name": "used", ++ "type": "int" ++ }, ++ { ++ "name": "num", ++ "type": "int" ++ }, ++ { ++ "name": "desc-phys", ++ "type": "int" ++ }, ++ { ++ "name": "desc-size", ++ "type": "int" ++ }, ++ { ++ "name": "avail-phys", ++ "type": "int" ++ }, ++ { ++ "name": "avail-size", ++ "type": "int" ++ }, ++ { ++ "name": "used-phys", ++ "type": "int" ++ }, ++ { ++ "name": "used-size", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "271", ++ "members": [ ++ { ++ "name": "path", ++ "type": "str" ++ }, ++ { ++ "name": "queue", ++ "type": "int" ++ }, ++ { ++ "name": "index", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "272", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "index", ++ "type": "int" ++ }, ++ { ++ "name": "descs", ++ "type": "[545]" ++ }, ++ { ++ "name": "avail", ++ "type": "546" ++ }, ++ { ++ "name": "used", ++ "type": "547" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[273]", ++ "element-type": "273", ++ "meta-type": "array" ++ }, ++ { ++ "name": "273", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ }, ++ { ++ "name": "service", ++ "type": "[548]" ++ }, ++ { ++ "name": "client", ++ "type": "[549]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "274", ++ "members": [ ++ { ++ "name": "path", ++ "type": "str" ++ }, ++ { ++ "name": "log", ++ "type": "550" ++ }, ++ { ++ "name": "flags", ++ "type": "int" ++ }, ++ { ++ "name": "dpa", ++ "type": "int" ++ }, ++ { ++ "name": "descriptor", ++ "type": "int" ++ }, ++ { ++ "name": "type", ++ "type": "int" ++ }, ++ { ++ "name": "transaction-type", ++ "type": "int" ++ }, ++ { ++ "name": "channel", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "rank", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "device", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "component-id", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "275", ++ "members": [ ++ { ++ "name": "path", ++ "type": "str" ++ }, ++ { ++ "name": "log", ++ "type": "550" ++ }, ++ { ++ "name": "flags", ++ "type": "int" ++ }, ++ { ++ "name": "dpa", ++ "type": "int" ++ }, ++ { ++ "name": "descriptor", ++ "type": "int" ++ }, ++ { ++ "name": "type", ++ "type": "int" ++ }, ++ { ++ "name": "transaction-type", ++ "type": "int" ++ }, ++ { ++ "name": "channel", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "rank", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "nibble-mask", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "bank-group", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "bank", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "row", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "column", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "correction-mask", ++ "default": null, ++ "type": "[int]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "276", ++ "members": [ ++ { ++ "name": "path", ++ "type": "str" ++ }, ++ { ++ "name": "log", ++ "type": "550" ++ }, ++ { ++ "name": "flags", ++ "type": "int" ++ }, ++ { ++ "name": "type", ++ "type": "int" ++ }, ++ { ++ "name": "health-status", ++ "type": "int" ++ }, ++ { ++ "name": "media-status", ++ "type": "int" ++ }, ++ { ++ "name": "additional-status", ++ "type": "int" ++ }, ++ { ++ "name": "life-used", ++ "type": "int" ++ }, ++ { ++ "name": "temperature", ++ "type": "int" ++ }, ++ { ++ "name": "dirty-shutdown-count", ++ "type": "int" ++ }, ++ { ++ "name": "corrected-volatile-error-count", ++ "type": "int" ++ }, ++ { ++ "name": "corrected-persistent-error-count", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "277", ++ "members": [ ++ { ++ "name": "path", ++ "type": "str" ++ }, ++ { ++ "name": "start", ++ "type": "int" ++ }, ++ { ++ "name": "length", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "278", ++ "members": [ ++ { ++ "name": "path", ++ "type": "str" ++ }, ++ { ++ "name": "errors", ++ "type": "[551]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "279", ++ "members": [ ++ { ++ "name": "path", ++ "type": "str" ++ }, ++ { ++ "name": "type", ++ "type": "552" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "bool", ++ "json-type": "boolean", ++ "meta-type": "builtin" ++ }, ++ { ++ "name": "280", ++ "members": [ ++ { ++ "name": "debug" ++ }, ++ { ++ "name": "inmigrate" ++ }, ++ { ++ "name": "internal-error" ++ }, ++ { ++ "name": "io-error" ++ }, ++ { ++ "name": "paused" ++ }, ++ { ++ "name": "postmigrate" ++ }, ++ { ++ "name": "prelaunch" ++ }, ++ { ++ "name": "finish-migrate" ++ }, ++ { ++ "name": "restore-vm" ++ }, ++ { ++ "name": "running" ++ }, ++ { ++ "name": "save-vm" ++ }, ++ { ++ "name": "shutdown" ++ }, ++ { ++ "name": "suspended" ++ }, ++ { ++ "name": "watchdog" ++ }, ++ { ++ "name": "guest-panicked" ++ }, ++ { ++ "name": "colo" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "debug", ++ "inmigrate", ++ "internal-error", ++ "io-error", ++ "paused", ++ "postmigrate", ++ "prelaunch", ++ "finish-migrate", ++ "restore-vm", ++ "running", ++ "save-vm", ++ "shutdown", ++ "suspended", ++ "watchdog", ++ "guest-panicked", ++ "colo" ++ ] ++ }, ++ { ++ "name": "281", ++ "members": [ ++ { ++ "name": "none" ++ }, ++ { ++ "name": "host-error" ++ }, ++ { ++ "name": "host-qmp-quit" ++ }, ++ { ++ "name": "host-qmp-system-reset" ++ }, ++ { ++ "name": "host-signal" ++ }, ++ { ++ "name": "host-ui" ++ }, ++ { ++ "name": "guest-shutdown" ++ }, ++ { ++ "name": "guest-reset" ++ }, ++ { ++ "name": "guest-panic" ++ }, ++ { ++ "name": "subsystem-reset" ++ }, ++ { ++ "name": "snapshot-load" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "none", ++ "host-error", ++ "host-qmp-quit", ++ "host-qmp-system-reset", ++ "host-signal", ++ "host-ui", ++ "guest-shutdown", ++ "guest-reset", ++ "guest-panic", ++ "subsystem-reset", ++ "snapshot-load" ++ ] ++ }, ++ { ++ "name": "282", ++ "members": [ ++ { ++ "name": "reset" ++ }, ++ { ++ "name": "shutdown" ++ }, ++ { ++ "name": "poweroff" ++ }, ++ { ++ "name": "pause" ++ }, ++ { ++ "name": "debug" ++ }, ++ { ++ "name": "none" ++ }, ++ { ++ "name": "inject-nmi" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "reset", ++ "shutdown", ++ "poweroff", ++ "pause", ++ "debug", ++ "none", ++ "inject-nmi" ++ ] ++ }, ++ { ++ "name": "283", ++ "members": [ ++ { ++ "name": "reset" ++ }, ++ { ++ "name": "shutdown" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "reset", ++ "shutdown" ++ ] ++ }, ++ { ++ "name": "284", ++ "members": [ ++ { ++ "name": "poweroff" ++ }, ++ { ++ "name": "pause" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "poweroff", ++ "pause" ++ ] ++ }, ++ { ++ "name": "285", ++ "members": [ ++ { ++ "name": "pause" ++ }, ++ { ++ "name": "shutdown" ++ }, ++ { ++ "name": "exit-failure" ++ }, ++ { ++ "name": "none" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "pause", ++ "shutdown", ++ "exit-failure", ++ "none" ++ ] ++ }, ++ { ++ "name": "286", ++ "members": [ ++ { ++ "name": "pause" ++ }, ++ { ++ "name": "poweroff" ++ }, ++ { ++ "name": "run" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "pause", ++ "poweroff", ++ "run" ++ ] ++ }, ++ { ++ "name": "287", ++ "tag": "type", ++ "variants": [ ++ { ++ "case": "hyper-v", ++ "type": "554" ++ }, ++ { ++ "case": "s390", ++ "type": "555" ++ } ++ ], ++ "members": [ ++ { ++ "name": "type", ++ "type": "553" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "288", ++ "members": [ ++ { ++ "name": "hypervisor" ++ }, ++ { ++ "name": "guest" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "hypervisor", ++ "guest" ++ ] ++ }, ++ { ++ "name": "289", ++ "members": [ ++ { ++ "name": "ignore" ++ }, ++ { ++ "name": "inject" ++ }, ++ { ++ "name": "fatal" ++ }, ++ { ++ "name": "reset" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "ignore", ++ "inject", ++ "fatal", ++ "reset" ++ ] ++ }, ++ { ++ "name": "290", ++ "members": [ ++ { ++ "name": "action-required", ++ "type": "bool" ++ }, ++ { ++ "name": "recursive", ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "291", ++ "members": [ ++ { ++ "name": "undefined" ++ }, ++ { ++ "name": "created" ++ }, ++ { ++ "name": "running" ++ }, ++ { ++ "name": "paused" ++ }, ++ { ++ "name": "ready" ++ }, ++ { ++ "name": "standby" ++ }, ++ { ++ "name": "waiting" ++ }, ++ { ++ "name": "pending" ++ }, ++ { ++ "name": "aborting" ++ }, ++ { ++ "name": "concluded" ++ }, ++ { ++ "name": "null" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "undefined", ++ "created", ++ "running", ++ "paused", ++ "ready", ++ "standby", ++ "waiting", ++ "pending", ++ "aborting", ++ "concluded", ++ "null" ++ ] ++ }, ++ { ++ "name": "292", ++ "members": [ ++ { ++ "name": "commit" ++ }, ++ { ++ "name": "stream" ++ }, ++ { ++ "name": "mirror" ++ }, ++ { ++ "name": "backup" ++ }, ++ { ++ "name": "create" ++ }, ++ { ++ "name": "amend" ++ }, ++ { ++ "name": "snapshot-load" ++ }, ++ { ++ "name": "snapshot-save" ++ }, ++ { ++ "name": "snapshot-delete" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "commit", ++ "stream", ++ "mirror", ++ "backup", ++ "create", ++ "amend", ++ "snapshot-load", ++ "snapshot-save", ++ "snapshot-delete" ++ ] ++ }, ++ { ++ "name": "int", ++ "json-type": "int", ++ "meta-type": "builtin" ++ }, ++ { ++ "name": "293", ++ "members": [ ++ { ++ "name": "retain" ++ }, ++ { ++ "name": "read-only" ++ }, ++ { ++ "name": "read-write" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "retain", ++ "read-only", ++ "read-write" ++ ] ++ }, ++ { ++ "name": "[int]", ++ "element-type": "int", ++ "meta-type": "array" ++ }, ++ { ++ "name": "294", ++ "members": [ ++ { ++ "name": "ok" ++ }, ++ { ++ "name": "failed" ++ }, ++ { ++ "name": "nospace" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "ok", ++ "failed", ++ "nospace" ++ ] ++ }, ++ { ++ "name": "295", ++ "members": [ ++ { ++ "name": "rd_bytes", ++ "type": "int" ++ }, ++ { ++ "name": "wr_bytes", ++ "type": "int" ++ }, ++ { ++ "name": "zone_append_bytes", ++ "type": "int" ++ }, ++ { ++ "name": "unmap_bytes", ++ "type": "int" ++ }, ++ { ++ "name": "rd_operations", ++ "type": "int" ++ }, ++ { ++ "name": "wr_operations", ++ "type": "int" ++ }, ++ { ++ "name": "zone_append_operations", ++ "type": "int" ++ }, ++ { ++ "name": "flush_operations", ++ "type": "int" ++ }, ++ { ++ "name": "unmap_operations", ++ "type": "int" ++ }, ++ { ++ "name": "rd_total_time_ns", ++ "type": "int" ++ }, ++ { ++ "name": "wr_total_time_ns", ++ "type": "int" ++ }, ++ { ++ "name": "zone_append_total_time_ns", ++ "type": "int" ++ }, ++ { ++ "name": "flush_total_time_ns", ++ "type": "int" ++ }, ++ { ++ "name": "unmap_total_time_ns", ++ "type": "int" ++ }, ++ { ++ "name": "wr_highest_offset", ++ "type": "int" ++ }, ++ { ++ "name": "rd_merged", ++ "type": "int" ++ }, ++ { ++ "name": "wr_merged", ++ "type": "int" ++ }, ++ { ++ "name": "zone_append_merged", ++ "type": "int" ++ }, ++ { ++ "name": "unmap_merged", ++ "type": "int" ++ }, ++ { ++ "name": "idle_time_ns", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "failed_rd_operations", ++ "type": "int" ++ }, ++ { ++ "name": "failed_wr_operations", ++ "type": "int" ++ }, ++ { ++ "name": "failed_zone_append_operations", ++ "type": "int" ++ }, ++ { ++ "name": "failed_flush_operations", ++ "type": "int" ++ }, ++ { ++ "name": "failed_unmap_operations", ++ "type": "int" ++ }, ++ { ++ "name": "invalid_rd_operations", ++ "type": "int" ++ }, ++ { ++ "name": "invalid_wr_operations", ++ "type": "int" ++ }, ++ { ++ "name": "invalid_zone_append_operations", ++ "type": "int" ++ }, ++ { ++ "name": "invalid_flush_operations", ++ "type": "int" ++ }, ++ { ++ "name": "invalid_unmap_operations", ++ "type": "int" ++ }, ++ { ++ "name": "account_invalid", ++ "type": "bool" ++ }, ++ { ++ "name": "account_failed", ++ "type": "bool" ++ }, ++ { ++ "name": "timed_stats", ++ "type": "[556]" ++ }, ++ { ++ "name": "rd_latency_histogram", ++ "default": null, ++ "type": "557" ++ }, ++ { ++ "name": "wr_latency_histogram", ++ "default": null, ++ "type": "557" ++ }, ++ { ++ "name": "zone_append_latency_histogram", ++ "default": null, ++ "type": "557" ++ }, ++ { ++ "name": "flush_latency_histogram", ++ "default": null, ++ "type": "557" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "296", ++ "tag": "driver", ++ "variants": [ ++ { ++ "case": "file", ++ "type": "558" ++ }, ++ { ++ "case": "host_device", ++ "type": "558" ++ }, ++ { ++ "case": "nvme", ++ "type": "559" ++ }, ++ { ++ "case": "blkdebug", ++ "type": "0" ++ }, ++ { ++ "case": "blklogwrites", ++ "type": "0" ++ }, ++ { ++ "case": "blkreplay", ++ "type": "0" ++ }, ++ { ++ "case": "blkverify", ++ "type": "0" ++ }, ++ { ++ "case": "bochs", ++ "type": "0" ++ }, ++ { ++ "case": "cloop", ++ "type": "0" ++ }, ++ { ++ "case": "compress", ++ "type": "0" ++ }, ++ { ++ "case": "copy-before-write", ++ "type": "0" ++ }, ++ { ++ "case": "copy-on-read", ++ "type": "0" ++ }, ++ { ++ "case": "dmg", ++ "type": "0" ++ }, ++ { ++ "case": "snapshot-access", ++ "type": "0" ++ }, ++ { ++ "case": "ftp", ++ "type": "0" ++ }, ++ { ++ "case": "ftps", ++ "type": "0" ++ }, ++ { ++ "case": "gluster", ++ "type": "0" ++ }, ++ { ++ "case": "host_cdrom", ++ "type": "0" ++ }, ++ { ++ "case": "http", ++ "type": "0" ++ }, ++ { ++ "case": "https", ++ "type": "0" ++ }, ++ { ++ "case": "iscsi", ++ "type": "0" ++ }, ++ { ++ "case": "luks", ++ "type": "0" ++ }, ++ { ++ "case": "nbd", ++ "type": "0" ++ }, ++ { ++ "case": "nfs", ++ "type": "0" ++ }, ++ { ++ "case": "null-aio", ++ "type": "0" ++ }, ++ { ++ "case": "null-co", ++ "type": "0" ++ }, ++ { ++ "case": "parallels", ++ "type": "0" ++ }, ++ { ++ "case": "preallocate", ++ "type": "0" ++ }, ++ { ++ "case": "qcow", ++ "type": "0" ++ }, ++ { ++ "case": "qcow2", ++ "type": "0" ++ }, ++ { ++ "case": "qed", ++ "type": "0" ++ }, ++ { ++ "case": "quorum", ++ "type": "0" ++ }, ++ { ++ "case": "raw", ++ "type": "0" ++ }, ++ { ++ "case": "rbd", ++ "type": "0" ++ }, ++ { ++ "case": "replication", ++ "type": "0" ++ }, ++ { ++ "case": "ssh", ++ "type": "0" ++ }, ++ { ++ "case": "throttle", ++ "type": "0" ++ }, ++ { ++ "case": "vdi", ++ "type": "0" ++ }, ++ { ++ "case": "vhdx", ++ "type": "0" ++ }, ++ { ++ "case": "vmdk", ++ "type": "0" ++ }, ++ { ++ "case": "vpc", ++ "type": "0" ++ }, ++ { ++ "case": "vvfat", ++ "type": "0" ++ } ++ ], ++ "members": [ ++ { ++ "name": "driver", ++ "type": "312" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "297", ++ "members": [ ++ { ++ "name": "actively-synced", ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "298", ++ "members": [ ++ { ++ "name": "existing" ++ }, ++ { ++ "name": "absolute-paths" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "existing", ++ "absolute-paths" ++ ] ++ }, ++ { ++ "name": "299", ++ "members": [ ++ { ++ "name": "report" ++ }, ++ { ++ "name": "ignore" ++ }, ++ { ++ "name": "enospc" ++ }, ++ { ++ "name": "stop" ++ }, ++ { ++ "name": "auto" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "report", ++ "ignore", ++ "enospc", ++ "stop", ++ "auto" ++ ] ++ }, ++ { ++ "name": "300", ++ "members": [ ++ { ++ "name": "top" ++ }, ++ { ++ "name": "full" ++ }, ++ { ++ "name": "none" ++ }, ++ { ++ "name": "incremental" ++ }, ++ { ++ "name": "bitmap" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "top", ++ "full", ++ "none", ++ "incremental", ++ "bitmap" ++ ] ++ }, ++ { ++ "name": "301", ++ "members": [ ++ { ++ "name": "on-success" ++ }, ++ { ++ "name": "never" ++ }, ++ { ++ "name": "always" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "on-success", ++ "never", ++ "always" ++ ] ++ }, ++ { ++ "name": "302", ++ "members": [ ++ { ++ "name": "use-copy-range", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "max-workers", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "max-chunk", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "303", ++ "members": [ ++ { ++ "name": "off" ++ }, ++ { ++ "name": "on" ++ }, ++ { ++ "name": "unmap" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "off", ++ "on", ++ "unmap" ++ ] ++ }, ++ { ++ "name": "304", ++ "members": [ ++ { ++ "name": "filename", ++ "type": "str" ++ }, ++ { ++ "name": "format", ++ "type": "str" ++ }, ++ { ++ "name": "dirty-flag", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "actual-size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "virtual-size", ++ "type": "int" ++ }, ++ { ++ "name": "cluster-size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "encrypted", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "compressed", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "backing-filename", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "full-backing-filename", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "backing-filename-format", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "snapshots", ++ "default": null, ++ "type": "[78]" ++ }, ++ { ++ "name": "format-specific", ++ "default": null, ++ "type": "560" ++ }, ++ { ++ "name": "backing-image", ++ "default": null, ++ "type": "304" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "305", ++ "members": [ ++ { ++ "name": "writeback", ++ "type": "bool" ++ }, ++ { ++ "name": "direct", ++ "type": "bool" ++ }, ++ { ++ "name": "no-flush", ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[306]", ++ "element-type": "306", ++ "meta-type": "array" ++ }, ++ { ++ "name": "306", ++ "members": [ ++ { ++ "name": "name", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "count", ++ "type": "int" ++ }, ++ { ++ "name": "granularity", ++ "type": "int" ++ }, ++ { ++ "name": "recording", ++ "type": "bool" ++ }, ++ { ++ "name": "busy", ++ "type": "bool" ++ }, ++ { ++ "name": "persistent", ++ "type": "bool" ++ }, ++ { ++ "name": "inconsistent", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[307]", ++ "element-type": "307", ++ "meta-type": "array" ++ }, ++ { ++ "name": "307", ++ "members": [ ++ { ++ "name": "id", ++ "type": "int" ++ }, ++ { ++ "name": "type", ++ "type": "561" ++ }, ++ { ++ "name": "name", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[308]", ++ "element-type": "308", ++ "meta-type": "array" ++ }, ++ { ++ "name": "308", ++ "members": [ ++ { ++ "name": "parent", ++ "type": "int" ++ }, ++ { ++ "name": "child", ++ "type": "int" ++ }, ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "perm", ++ "type": "[562]" ++ }, ++ { ++ "name": "shared-perm", ++ "type": "[562]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "309", ++ "members": [ ++ { ++ "name": "background" ++ }, ++ { ++ "name": "write-blocking" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "background", ++ "write-blocking" ++ ] ++ }, ++ { ++ "name": "[310]", ++ "element-type": "310", ++ "meta-type": "array" ++ }, ++ { ++ "name": "310", ++ "members": [ ++ { ++ "type": "str" ++ }, ++ { ++ "type": "45" ++ } ++ ], ++ "meta-type": "alternate" ++ }, ++ { ++ "name": "311", ++ "members": [ ++ { ++ "name": "copy-mode", ++ "type": "309" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "312", ++ "members": [ ++ { ++ "name": "blkdebug" ++ }, ++ { ++ "name": "blklogwrites" ++ }, ++ { ++ "name": "blkreplay" ++ }, ++ { ++ "name": "blkverify" ++ }, ++ { ++ "name": "bochs" ++ }, ++ { ++ "name": "cloop" ++ }, ++ { ++ "name": "compress" ++ }, ++ { ++ "name": "copy-before-write" ++ }, ++ { ++ "name": "copy-on-read" ++ }, ++ { ++ "name": "dmg" ++ }, ++ { ++ "name": "file" ++ }, ++ { ++ "name": "snapshot-access" ++ }, ++ { ++ "name": "ftp" ++ }, ++ { ++ "name": "ftps" ++ }, ++ { ++ "name": "gluster" ++ }, ++ { ++ "name": "host_cdrom" ++ }, ++ { ++ "name": "host_device" ++ }, ++ { ++ "name": "http" ++ }, ++ { ++ "name": "https" ++ }, ++ { ++ "name": "iscsi" ++ }, ++ { ++ "name": "luks" ++ }, ++ { ++ "name": "nbd" ++ }, ++ { ++ "name": "nfs" ++ }, ++ { ++ "name": "null-aio" ++ }, ++ { ++ "name": "null-co" ++ }, ++ { ++ "name": "nvme" ++ }, ++ { ++ "name": "parallels" ++ }, ++ { ++ "name": "preallocate" ++ }, ++ { ++ "name": "qcow" ++ }, ++ { ++ "name": "qcow2" ++ }, ++ { ++ "name": "qed" ++ }, ++ { ++ "name": "quorum" ++ }, ++ { ++ "name": "raw" ++ }, ++ { ++ "name": "rbd" ++ }, ++ { ++ "name": "replication" ++ }, ++ { ++ "name": "ssh" ++ }, ++ { ++ "name": "throttle" ++ }, ++ { ++ "name": "vdi" ++ }, ++ { ++ "name": "vhdx" ++ }, ++ { ++ "name": "vmdk" ++ }, ++ { ++ "name": "vpc" ++ }, ++ { ++ "name": "vvfat" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "blkdebug", ++ "blklogwrites", ++ "blkreplay", ++ "blkverify", ++ "bochs", ++ "cloop", ++ "compress", ++ "copy-before-write", ++ "copy-on-read", ++ "dmg", ++ "file", ++ "snapshot-access", ++ "ftp", ++ "ftps", ++ "gluster", ++ "host_cdrom", ++ "host_device", ++ "http", ++ "https", ++ "iscsi", ++ "luks", ++ "nbd", ++ "nfs", ++ "null-aio", ++ "null-co", ++ "nvme", ++ "parallels", ++ "preallocate", ++ "qcow", ++ "qcow2", ++ "qed", ++ "quorum", ++ "raw", ++ "rbd", ++ "replication", ++ "ssh", ++ "throttle", ++ "vdi", ++ "vhdx", ++ "vmdk", ++ "vpc", ++ "vvfat" ++ ] ++ }, ++ { ++ "name": "313", ++ "members": [ ++ { ++ "name": "ignore" ++ }, ++ { ++ "name": "unmap" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "ignore", ++ "unmap" ++ ] ++ }, ++ { ++ "name": "314", ++ "members": [ ++ { ++ "name": "direct", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "no-flush", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "315", ++ "members": [ ++ { ++ "name": "image", ++ "type": "563" ++ }, ++ { ++ "name": "config", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "align", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "max-transfer", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "opt-write-zero", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "max-write-zero", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "opt-discard", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "max-discard", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "inject-error", ++ "default": null, ++ "type": "[564]" ++ }, ++ { ++ "name": "set-state", ++ "default": null, ++ "type": "[565]" ++ }, ++ { ++ "name": "take-child-perms", ++ "default": null, ++ "type": "[562]" ++ }, ++ { ++ "name": "unshare-child-perms", ++ "default": null, ++ "type": "[562]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "316", ++ "members": [ ++ { ++ "name": "file", ++ "type": "563" ++ }, ++ { ++ "name": "log", ++ "type": "563" ++ }, ++ { ++ "name": "log-sector-size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "log-append", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "log-super-update-interval", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "317", ++ "members": [ ++ { ++ "name": "test", ++ "type": "563" ++ }, ++ { ++ "name": "raw", ++ "type": "563" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "318", ++ "members": [ ++ { ++ "name": "image", ++ "type": "563" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "319", ++ "members": [ ++ { ++ "name": "file", ++ "type": "563" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "320", ++ "members": [ ++ { ++ "name": "file", ++ "type": "563" ++ }, ++ { ++ "name": "target", ++ "type": "563" ++ }, ++ { ++ "name": "bitmap", ++ "default": null, ++ "type": "45" ++ }, ++ { ++ "name": "on-cbw-error", ++ "default": null, ++ "type": "566" ++ }, ++ { ++ "name": "cbw-timeout", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "321", ++ "members": [ ++ { ++ "name": "file", ++ "type": "563" ++ }, ++ { ++ "name": "bottom", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "322", ++ "members": [ ++ { ++ "name": "filename", ++ "type": "str" ++ }, ++ { ++ "name": "pr-manager", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "locking", ++ "default": null, ++ "type": "567" ++ }, ++ { ++ "name": "aio", ++ "default": null, ++ "type": "568" ++ }, ++ { ++ "name": "aio-max-batch", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "drop-cache", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "x-check-cache-dropped", ++ "default": null, ++ "type": "bool", ++ "features": [ ++ "unstable" ++ ] ++ } ++ ], ++ "meta-type": "object", ++ "features": [ ++ "dynamic-auto-read-only" ++ ] ++ }, ++ { ++ "name": "323", ++ "members": [ ++ { ++ "name": "url", ++ "type": "str" ++ }, ++ { ++ "name": "readahead", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "timeout", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "username", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "password-secret", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "proxy-username", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "proxy-password-secret", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "324", ++ "members": [ ++ { ++ "name": "url", ++ "type": "str" ++ }, ++ { ++ "name": "readahead", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "timeout", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "username", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "password-secret", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "proxy-username", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "proxy-password-secret", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "sslverify", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "325", ++ "members": [ ++ { ++ "name": "volume", ++ "type": "str" ++ }, ++ { ++ "name": "path", ++ "type": "str" ++ }, ++ { ++ "name": "server", ++ "type": "[386]" ++ }, ++ { ++ "name": "debug", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "logfile", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "326", ++ "members": [ ++ { ++ "name": "url", ++ "type": "str" ++ }, ++ { ++ "name": "readahead", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "timeout", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "username", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "password-secret", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "proxy-username", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "proxy-password-secret", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "cookie", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "cookie-secret", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "327", ++ "members": [ ++ { ++ "name": "url", ++ "type": "str" ++ }, ++ { ++ "name": "readahead", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "timeout", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "username", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "password-secret", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "proxy-username", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "proxy-password-secret", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "cookie", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "sslverify", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "cookie-secret", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "329", ++ "members": [ ++ { ++ "name": "transport", ++ "type": "569" ++ }, ++ { ++ "name": "portal", ++ "type": "str" ++ }, ++ { ++ "name": "target", ++ "type": "str" ++ }, ++ { ++ "name": "lun", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "user", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "password-secret", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "initiator-name", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "header-digest", ++ "default": null, ++ "type": "570" ++ }, ++ { ++ "name": "timeout", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "330", ++ "members": [ ++ { ++ "name": "file", ++ "type": "563" ++ }, ++ { ++ "name": "key-secret", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "331", ++ "members": [ ++ { ++ "name": "server", ++ "type": "386" ++ }, ++ { ++ "name": "export", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "tls-creds", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "tls-hostname", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "x-dirty-bitmap", ++ "default": null, ++ "type": "str", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "reconnect-delay", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "open-timeout", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "332", ++ "members": [ ++ { ++ "name": "server", ++ "type": "571" ++ }, ++ { ++ "name": "path", ++ "type": "str" ++ }, ++ { ++ "name": "user", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "group", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "tcp-syn-count", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "readahead-size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "page-cache-size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "debug", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "333", ++ "members": [ ++ { ++ "name": "size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "latency-ns", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "read-zeroes", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "334", ++ "members": [ ++ { ++ "name": "device", ++ "type": "str" ++ }, ++ { ++ "name": "namespace", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "336", ++ "members": [ ++ { ++ "name": "file", ++ "type": "563" ++ }, ++ { ++ "name": "prealloc-align", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "prealloc-size", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "337", ++ "members": [ ++ { ++ "name": "file", ++ "type": "563" ++ }, ++ { ++ "name": "backing", ++ "default": null, ++ "type": "572" ++ }, ++ { ++ "name": "lazy-refcounts", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "pass-discard-request", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "pass-discard-snapshot", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "pass-discard-other", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "discard-no-unref", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "overlap-check", ++ "default": null, ++ "type": "573" ++ }, ++ { ++ "name": "cache-size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "l2-cache-size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "l2-cache-entry-size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "refcount-cache-size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "cache-clean-interval", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "encrypt", ++ "default": null, ++ "type": "574" ++ }, ++ { ++ "name": "data-file", ++ "default": null, ++ "type": "563" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "338", ++ "members": [ ++ { ++ "name": "file", ++ "type": "563" ++ }, ++ { ++ "name": "backing", ++ "default": null, ++ "type": "572" ++ }, ++ { ++ "name": "encrypt", ++ "default": null, ++ "type": "575" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "339", ++ "members": [ ++ { ++ "name": "file", ++ "type": "563" ++ }, ++ { ++ "name": "backing", ++ "default": null, ++ "type": "572" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "340", ++ "members": [ ++ { ++ "name": "blkverify", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "children", ++ "type": "[563]" ++ }, ++ { ++ "name": "vote-threshold", ++ "type": "int" ++ }, ++ { ++ "name": "rewrite-corrupted", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "read-pattern", ++ "default": null, ++ "type": "576" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "341", ++ "members": [ ++ { ++ "name": "file", ++ "type": "563" ++ }, ++ { ++ "name": "offset", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "size", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "342", ++ "members": [ ++ { ++ "name": "pool", ++ "type": "str" ++ }, ++ { ++ "name": "namespace", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "image", ++ "type": "str" ++ }, ++ { ++ "name": "conf", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "snapshot", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "encrypt", ++ "default": null, ++ "type": "577" ++ }, ++ { ++ "name": "user", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "auth-client-required", ++ "default": null, ++ "type": "[578]" ++ }, ++ { ++ "name": "key-secret", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "server", ++ "default": null, ++ "type": "[579]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "343", ++ "members": [ ++ { ++ "name": "file", ++ "type": "563" ++ }, ++ { ++ "name": "mode", ++ "type": "580" ++ }, ++ { ++ "name": "top-id", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "344", ++ "members": [ ++ { ++ "name": "server", ++ "type": "581" ++ }, ++ { ++ "name": "path", ++ "type": "str" ++ }, ++ { ++ "name": "user", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "host-key-check", ++ "default": null, ++ "type": "582" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "345", ++ "members": [ ++ { ++ "name": "throttle-group", ++ "type": "str" ++ }, ++ { ++ "name": "file", ++ "type": "563" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "349", ++ "members": [ ++ { ++ "name": "dir", ++ "type": "str" ++ }, ++ { ++ "name": "fat-type", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "floppy", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "label", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "rw", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[58]", ++ "element-type": "58", ++ "meta-type": "array" ++ }, ++ { ++ "name": "350", ++ "tag": "driver", ++ "variants": [ ++ { ++ "case": "file", ++ "type": "583" ++ }, ++ { ++ "case": "gluster", ++ "type": "584" ++ }, ++ { ++ "case": "luks", ++ "type": "585" ++ }, ++ { ++ "case": "nfs", ++ "type": "586" ++ }, ++ { ++ "case": "parallels", ++ "type": "587" ++ }, ++ { ++ "case": "qcow", ++ "type": "588" ++ }, ++ { ++ "case": "qcow2", ++ "type": "589" ++ }, ++ { ++ "case": "qed", ++ "type": "590" ++ }, ++ { ++ "case": "rbd", ++ "type": "591" ++ }, ++ { ++ "case": "ssh", ++ "type": "592" ++ }, ++ { ++ "case": "vdi", ++ "type": "593" ++ }, ++ { ++ "case": "vhdx", ++ "type": "594" ++ }, ++ { ++ "case": "vmdk", ++ "type": "595" ++ }, ++ { ++ "case": "vpc", ++ "type": "596" ++ }, ++ { ++ "case": "blkdebug", ++ "type": "0" ++ }, ++ { ++ "case": "blklogwrites", ++ "type": "0" ++ }, ++ { ++ "case": "blkreplay", ++ "type": "0" ++ }, ++ { ++ "case": "blkverify", ++ "type": "0" ++ }, ++ { ++ "case": "bochs", ++ "type": "0" ++ }, ++ { ++ "case": "cloop", ++ "type": "0" ++ }, ++ { ++ "case": "compress", ++ "type": "0" ++ }, ++ { ++ "case": "copy-before-write", ++ "type": "0" ++ }, ++ { ++ "case": "copy-on-read", ++ "type": "0" ++ }, ++ { ++ "case": "dmg", ++ "type": "0" ++ }, ++ { ++ "case": "snapshot-access", ++ "type": "0" ++ }, ++ { ++ "case": "ftp", ++ "type": "0" ++ }, ++ { ++ "case": "ftps", ++ "type": "0" ++ }, ++ { ++ "case": "host_cdrom", ++ "type": "0" ++ }, ++ { ++ "case": "host_device", ++ "type": "0" ++ }, ++ { ++ "case": "http", ++ "type": "0" ++ }, ++ { ++ "case": "https", ++ "type": "0" ++ }, ++ { ++ "case": "iscsi", ++ "type": "0" ++ }, ++ { ++ "case": "nbd", ++ "type": "0" ++ }, ++ { ++ "case": "null-aio", ++ "type": "0" ++ }, ++ { ++ "case": "null-co", ++ "type": "0" ++ }, ++ { ++ "case": "nvme", ++ "type": "0" ++ }, ++ { ++ "case": "preallocate", ++ "type": "0" ++ }, ++ { ++ "case": "quorum", ++ "type": "0" ++ }, ++ { ++ "case": "raw", ++ "type": "0" ++ }, ++ { ++ "case": "replication", ++ "type": "0" ++ }, ++ { ++ "case": "throttle", ++ "type": "0" ++ }, ++ { ++ "case": "vvfat", ++ "type": "0" ++ } ++ ], ++ "members": [ ++ { ++ "name": "driver", ++ "type": "312" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "351", ++ "tag": "driver", ++ "variants": [ ++ { ++ "case": "luks", ++ "type": "597" ++ }, ++ { ++ "case": "qcow2", ++ "type": "598" ++ }, ++ { ++ "case": "blkdebug", ++ "type": "0" ++ }, ++ { ++ "case": "blklogwrites", ++ "type": "0" ++ }, ++ { ++ "case": "blkreplay", ++ "type": "0" ++ }, ++ { ++ "case": "blkverify", ++ "type": "0" ++ }, ++ { ++ "case": "bochs", ++ "type": "0" ++ }, ++ { ++ "case": "cloop", ++ "type": "0" ++ }, ++ { ++ "case": "compress", ++ "type": "0" ++ }, ++ { ++ "case": "copy-before-write", ++ "type": "0" ++ }, ++ { ++ "case": "copy-on-read", ++ "type": "0" ++ }, ++ { ++ "case": "dmg", ++ "type": "0" ++ }, ++ { ++ "case": "file", ++ "type": "0" ++ }, ++ { ++ "case": "snapshot-access", ++ "type": "0" ++ }, ++ { ++ "case": "ftp", ++ "type": "0" ++ }, ++ { ++ "case": "ftps", ++ "type": "0" ++ }, ++ { ++ "case": "gluster", ++ "type": "0" ++ }, ++ { ++ "case": "host_cdrom", ++ "type": "0" ++ }, ++ { ++ "case": "host_device", ++ "type": "0" ++ }, ++ { ++ "case": "http", ++ "type": "0" ++ }, ++ { ++ "case": "https", ++ "type": "0" ++ }, ++ { ++ "case": "iscsi", ++ "type": "0" ++ }, ++ { ++ "case": "nbd", ++ "type": "0" ++ }, ++ { ++ "case": "nfs", ++ "type": "0" ++ }, ++ { ++ "case": "null-aio", ++ "type": "0" ++ }, ++ { ++ "case": "null-co", ++ "type": "0" ++ }, ++ { ++ "case": "nvme", ++ "type": "0" ++ }, ++ { ++ "case": "parallels", ++ "type": "0" ++ }, ++ { ++ "case": "preallocate", ++ "type": "0" ++ }, ++ { ++ "case": "qcow", ++ "type": "0" ++ }, ++ { ++ "case": "qed", ++ "type": "0" ++ }, ++ { ++ "case": "quorum", ++ "type": "0" ++ }, ++ { ++ "case": "raw", ++ "type": "0" ++ }, ++ { ++ "case": "rbd", ++ "type": "0" ++ }, ++ { ++ "case": "replication", ++ "type": "0" ++ }, ++ { ++ "case": "ssh", ++ "type": "0" ++ }, ++ { ++ "case": "throttle", ++ "type": "0" ++ }, ++ { ++ "case": "vdi", ++ "type": "0" ++ }, ++ { ++ "case": "vhdx", ++ "type": "0" ++ }, ++ { ++ "case": "vmdk", ++ "type": "0" ++ }, ++ { ++ "case": "vpc", ++ "type": "0" ++ }, ++ { ++ "case": "vvfat", ++ "type": "0" ++ } ++ ], ++ "members": [ ++ { ++ "name": "driver", ++ "type": "312" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "352", ++ "members": [ ++ { ++ "name": "read" ++ }, ++ { ++ "name": "write" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "read", ++ "write" ++ ] ++ }, ++ { ++ "name": "353", ++ "members": [ ++ { ++ "name": "ignore" ++ }, ++ { ++ "name": "report" ++ }, ++ { ++ "name": "stop" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "ignore", ++ "report", ++ "stop" ++ ] ++ }, ++ { ++ "name": "354", ++ "members": [ ++ { ++ "type": "str" ++ }, ++ { ++ "type": "null" ++ } ++ ], ++ "meta-type": "alternate" ++ }, ++ { ++ "name": "355", ++ "members": [ ++ { ++ "name": "read" ++ }, ++ { ++ "name": "write" ++ }, ++ { ++ "name": "flush" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "read", ++ "write", ++ "flush" ++ ] ++ }, ++ { ++ "name": "356", ++ "tag": "type", ++ "variants": [ ++ { ++ "case": "inet", ++ "type": "600" ++ }, ++ { ++ "case": "unix", ++ "type": "601" ++ }, ++ { ++ "case": "vsock", ++ "type": "602" ++ }, ++ { ++ "case": "fd", ++ "type": "603" ++ } ++ ], ++ "members": [ ++ { ++ "name": "type", ++ "type": "599" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "357", ++ "members": [ ++ { ++ "name": "safe" ++ }, ++ { ++ "name": "hard" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "safe", ++ "hard" ++ ] ++ }, ++ { ++ "name": "358", ++ "members": [ ++ { ++ "name": "nbd" ++ }, ++ { ++ "name": "vhost-user-blk" ++ }, ++ { ++ "name": "fuse" ++ }, ++ { ++ "name": "vduse-blk" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "nbd", ++ "vhost-user-blk", ++ "fuse", ++ "vduse-blk" ++ ] ++ }, ++ { ++ "name": "359", ++ "members": [ ++ { ++ "name": "name", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "description", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "bitmaps", ++ "default": null, ++ "type": "[310]" ++ }, ++ { ++ "name": "allocation-depth", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "360", ++ "members": [ ++ { ++ "name": "addr", ++ "type": "386" ++ }, ++ { ++ "name": "logical-block-size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "num-queues", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "361", ++ "members": [ ++ { ++ "name": "mountpoint", ++ "type": "str" ++ }, ++ { ++ "name": "growable", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "allow-other", ++ "default": null, ++ "type": "604" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "362", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "num-queues", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "queue-size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "logical-block-size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "serial", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "363", ++ "members": [ ++ { ++ "name": "utf8" ++ }, ++ { ++ "name": "base64" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "utf8", ++ "base64" ++ ] ++ }, ++ { ++ "name": "364", ++ "tag": "type", ++ "variants": [ ++ { ++ "case": "file", ++ "type": "606" ++ }, ++ { ++ "case": "serial", ++ "type": "607" ++ }, ++ { ++ "case": "parallel", ++ "type": "607" ++ }, ++ { ++ "case": "pipe", ++ "type": "607" ++ }, ++ { ++ "case": "socket", ++ "type": "608" ++ }, ++ { ++ "case": "udp", ++ "type": "609" ++ }, ++ { ++ "case": "pty", ++ "type": "610" ++ }, ++ { ++ "case": "null", ++ "type": "610" ++ }, ++ { ++ "case": "mux", ++ "type": "611" ++ }, ++ { ++ "case": "msmouse", ++ "type": "610" ++ }, ++ { ++ "case": "wctablet", ++ "type": "610" ++ }, ++ { ++ "case": "braille", ++ "type": "610" ++ }, ++ { ++ "case": "testdev", ++ "type": "610" ++ }, ++ { ++ "case": "stdio", ++ "type": "612" ++ }, ++ { ++ "case": "console", ++ "type": "610" ++ }, ++ { ++ "case": "spicevmc", ++ "type": "613" ++ }, ++ { ++ "case": "spiceport", ++ "type": "614" ++ }, ++ { ++ "case": "qemu-vdagent", ++ "type": "615" ++ }, ++ { ++ "case": "dbus", ++ "type": "616" ++ }, ++ { ++ "case": "vc", ++ "type": "617" ++ }, ++ { ++ "case": "ringbuf", ++ "type": "618" ++ }, ++ { ++ "case": "memory", ++ "type": "618" ++ } ++ ], ++ "members": [ ++ { ++ "name": "type", ++ "type": "605" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "365", ++ "members": [ ++ { ++ "name": "elf" ++ }, ++ { ++ "name": "kdump-zlib" ++ }, ++ { ++ "name": "kdump-lzo" ++ }, ++ { ++ "name": "kdump-snappy" ++ }, ++ { ++ "name": "kdump-raw-zlib" ++ }, ++ { ++ "name": "kdump-raw-lzo" ++ }, ++ { ++ "name": "kdump-raw-snappy" ++ }, ++ { ++ "name": "win-dmp" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "elf", ++ "kdump-zlib", ++ "kdump-lzo", ++ "kdump-snappy", ++ "kdump-raw-zlib", ++ "kdump-raw-lzo", ++ "kdump-raw-snappy", ++ "win-dmp" ++ ] ++ }, ++ { ++ "name": "366", ++ "members": [ ++ { ++ "name": "none" ++ }, ++ { ++ "name": "active" ++ }, ++ { ++ "name": "completed" ++ }, ++ { ++ "name": "failed" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "none", ++ "active", ++ "completed", ++ "failed" ++ ] ++ }, ++ { ++ "name": "[365]", ++ "element-type": "365", ++ "meta-type": "array" ++ }, ++ { ++ "name": "367", ++ "members": [ ++ { ++ "name": "none" ++ }, ++ { ++ "name": "nic" ++ }, ++ { ++ "name": "user" ++ }, ++ { ++ "name": "tap" ++ }, ++ { ++ "name": "l2tpv3" ++ }, ++ { ++ "name": "socket" ++ }, ++ { ++ "name": "stream" ++ }, ++ { ++ "name": "dgram" ++ }, ++ { ++ "name": "vde" ++ }, ++ { ++ "name": "bridge" ++ }, ++ { ++ "name": "hubport" ++ }, ++ { ++ "name": "netmap" ++ }, ++ { ++ "name": "vhost-user" ++ }, ++ { ++ "name": "vhost-vdpa" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "none", ++ "nic", ++ "user", ++ "tap", ++ "l2tpv3", ++ "socket", ++ "stream", ++ "dgram", ++ "vde", ++ "bridge", ++ "hubport", ++ "netmap", ++ "vhost-user", ++ "vhost-vdpa" ++ ] ++ }, ++ { ++ "name": "368", ++ "members": [ ++ { ++ "name": "netdev", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "macaddr", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "model", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "addr", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "vectors", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "369", ++ "members": [ ++ { ++ "name": "hostname", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "restrict", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "ipv4", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "ipv6", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "ip", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "net", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "host", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "tftp", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "bootfile", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "dhcpstart", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "dns", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "dnssearch", ++ "default": null, ++ "type": "[619]" ++ }, ++ { ++ "name": "domainname", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "ipv6-prefix", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "ipv6-prefixlen", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "ipv6-host", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "ipv6-dns", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "smb", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "smbserver", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "hostfwd", ++ "default": null, ++ "type": "[619]" ++ }, ++ { ++ "name": "guestfwd", ++ "default": null, ++ "type": "[619]" ++ }, ++ { ++ "name": "tftp-server-name", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "370", ++ "members": [ ++ { ++ "name": "ifname", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "fd", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "fds", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "script", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "downscript", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "br", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "helper", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "sndbuf", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "vnet_hdr", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "vhost", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "vhostfd", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "vhostfds", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "vhostforce", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "queues", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "poll-us", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "371", ++ "members": [ ++ { ++ "name": "src", ++ "type": "str" ++ }, ++ { ++ "name": "dst", ++ "type": "str" ++ }, ++ { ++ "name": "srcport", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "dstport", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "ipv6", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "udp", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "cookie64", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "counter", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "pincounter", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "txcookie", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "rxcookie", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "txsession", ++ "type": "int" ++ }, ++ { ++ "name": "rxsession", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "offset", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "372", ++ "members": [ ++ { ++ "name": "fd", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "listen", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "connect", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "mcast", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "localaddr", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "udp", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "373", ++ "members": [ ++ { ++ "name": "addr", ++ "type": "386" ++ }, ++ { ++ "name": "server", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "reconnect", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "374", ++ "members": [ ++ { ++ "name": "local", ++ "default": null, ++ "type": "386" ++ }, ++ { ++ "name": "remote", ++ "default": null, ++ "type": "386" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "375", ++ "members": [ ++ { ++ "name": "sock", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "port", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "group", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "mode", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "376", ++ "members": [ ++ { ++ "name": "br", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "helper", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "377", ++ "members": [ ++ { ++ "name": "hubid", ++ "type": "int" ++ }, ++ { ++ "name": "netdev", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "378", ++ "members": [ ++ { ++ "name": "ifname", ++ "type": "str" ++ }, ++ { ++ "name": "devname", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "380", ++ "members": [ ++ { ++ "name": "chardev", ++ "type": "str" ++ }, ++ { ++ "name": "vhostforce", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "queues", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "381", ++ "members": [ ++ { ++ "name": "vhostdev", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "vhostfd", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "queues", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "x-svq", ++ "default": null, ++ "type": "bool", ++ "features": [ ++ "unstable" ++ ] ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "385", ++ "members": [ ++ { ++ "name": "normal" ++ }, ++ { ++ "name": "none" ++ }, ++ { ++ "name": "all" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "normal", ++ "none", ++ "all" ++ ] ++ }, ++ { ++ "name": "[str]", ++ "element-type": "str", ++ "meta-type": "array" ++ }, ++ { ++ "name": "386", ++ "tag": "type", ++ "variants": [ ++ { ++ "case": "inet", ++ "type": "581" ++ }, ++ { ++ "case": "unix", ++ "type": "621" ++ }, ++ { ++ "case": "vsock", ++ "type": "622" ++ }, ++ { ++ "case": "fd", ++ "type": "619" ++ } ++ ], ++ "members": [ ++ { ++ "name": "type", ++ "type": "599" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "387", ++ "members": [ ++ { ++ "name": "half" ++ }, ++ { ++ "name": "full" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "half", ++ "full" ++ ] ++ }, ++ { ++ "name": "388", ++ "members": [ ++ { ++ "name": "off" ++ }, ++ { ++ "name": "on" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "off", ++ "on" ++ ] ++ }, ++ { ++ "name": "389", ++ "members": [ ++ { ++ "name": "priority", ++ "type": "int" ++ }, ++ { ++ "name": "tbl-id", ++ "type": "int" ++ }, ++ { ++ "name": "in-pport", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "tunnel-id", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "vlan-id", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "eth-type", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "eth-src", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "eth-dst", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "ip-proto", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "ip-tos", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "ip-dst", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "390", ++ "members": [ ++ { ++ "name": "in-pport", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "tunnel-id", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "vlan-id", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "eth-src", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "eth-dst", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "ip-proto", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "ip-tos", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "391", ++ "members": [ ++ { ++ "name": "goto-tbl", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "group-id", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "tunnel-lport", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "vlan-id", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "new-vlan-id", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "out-pport", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "392", ++ "tag": "type", ++ "variants": [ ++ { ++ "case": "passthrough", ++ "type": "623" ++ }, ++ { ++ "case": "emulator", ++ "type": "624" ++ } ++ ], ++ "members": [ ++ { ++ "name": "type", ++ "type": "120" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "393", ++ "members": [ ++ { ++ "name": "vnc" ++ }, ++ { ++ "name": "spice" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "vnc", ++ "spice" ++ ] ++ }, ++ { ++ "name": "394", ++ "members": [ ++ { ++ "name": "keep" ++ }, ++ { ++ "name": "fail" ++ }, ++ { ++ "name": "disconnect" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "keep", ++ "fail", ++ "disconnect" ++ ] ++ }, ++ { ++ "name": "395", ++ "members": [ ++ { ++ "name": "display", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "396", ++ "members": [ ++ { ++ "name": "display", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "397", ++ "members": [ ++ { ++ "name": "ppm" ++ }, ++ { ++ "name": "png" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "ppm", ++ "png" ++ ] ++ }, ++ { ++ "name": "398", ++ "members": [ ++ { ++ "name": "client" ++ }, ++ { ++ "name": "server" ++ }, ++ { ++ "name": "unknown" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "client", ++ "server", ++ "unknown" ++ ] ++ }, ++ { ++ "name": "[399]", ++ "element-type": "399", ++ "meta-type": "array" ++ }, ++ { ++ "name": "399", ++ "members": [ ++ { ++ "name": "host", ++ "type": "str" ++ }, ++ { ++ "name": "port", ++ "type": "str" ++ }, ++ { ++ "name": "family", ++ "type": "402" ++ }, ++ { ++ "name": "connection-id", ++ "type": "int" ++ }, ++ { ++ "name": "channel-type", ++ "type": "int" ++ }, ++ { ++ "name": "channel-id", ++ "type": "int" ++ }, ++ { ++ "name": "tls", ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "400", ++ "members": [ ++ { ++ "name": "host", ++ "type": "str" ++ }, ++ { ++ "name": "port", ++ "type": "str" ++ }, ++ { ++ "name": "family", ++ "type": "402" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "401", ++ "members": [ ++ { ++ "name": "host", ++ "type": "str" ++ }, ++ { ++ "name": "port", ++ "type": "str" ++ }, ++ { ++ "name": "family", ++ "type": "402" ++ }, ++ { ++ "name": "auth", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "402", ++ "members": [ ++ { ++ "name": "ipv4" ++ }, ++ { ++ "name": "ipv6" ++ }, ++ { ++ "name": "unix" ++ }, ++ { ++ "name": "vsock" ++ }, ++ { ++ "name": "unknown" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "ipv4", ++ "ipv6", ++ "unix", ++ "vsock", ++ "unknown" ++ ] ++ }, ++ { ++ "name": "[403]", ++ "element-type": "403", ++ "meta-type": "array" ++ }, ++ { ++ "name": "403", ++ "members": [ ++ { ++ "name": "host", ++ "type": "str" ++ }, ++ { ++ "name": "service", ++ "type": "str" ++ }, ++ { ++ "name": "family", ++ "type": "402" ++ }, ++ { ++ "name": "websocket", ++ "type": "bool" ++ }, ++ { ++ "name": "x509_dname", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "sasl_username", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[404]", ++ "element-type": "404", ++ "meta-type": "array" ++ }, ++ { ++ "name": "404", ++ "members": [ ++ { ++ "name": "host", ++ "type": "str" ++ }, ++ { ++ "name": "service", ++ "type": "str" ++ }, ++ { ++ "name": "family", ++ "type": "402" ++ }, ++ { ++ "name": "websocket", ++ "type": "bool" ++ }, ++ { ++ "name": "auth", ++ "type": "405" ++ }, ++ { ++ "name": "vencrypt", ++ "default": null, ++ "type": "406" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "405", ++ "members": [ ++ { ++ "name": "none" ++ }, ++ { ++ "name": "vnc" ++ }, ++ { ++ "name": "ra2" ++ }, ++ { ++ "name": "ra2ne" ++ }, ++ { ++ "name": "tight" ++ }, ++ { ++ "name": "ultra" ++ }, ++ { ++ "name": "tls" ++ }, ++ { ++ "name": "vencrypt" ++ }, ++ { ++ "name": "sasl" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "none", ++ "vnc", ++ "ra2", ++ "ra2ne", ++ "tight", ++ "ultra", ++ "tls", ++ "vencrypt", ++ "sasl" ++ ] ++ }, ++ { ++ "name": "406", ++ "members": [ ++ { ++ "name": "plain" ++ }, ++ { ++ "name": "tls-none" ++ }, ++ { ++ "name": "x509-none" ++ }, ++ { ++ "name": "tls-vnc" ++ }, ++ { ++ "name": "x509-vnc" ++ }, ++ { ++ "name": "tls-plain" ++ }, ++ { ++ "name": "x509-plain" ++ }, ++ { ++ "name": "tls-sasl" ++ }, ++ { ++ "name": "x509-sasl" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "plain", ++ "tls-none", ++ "x509-none", ++ "tls-vnc", ++ "x509-vnc", ++ "tls-plain", ++ "x509-plain", ++ "tls-sasl", ++ "x509-sasl" ++ ] ++ }, ++ { ++ "name": "407", ++ "members": [ ++ { ++ "name": "host", ++ "type": "str" ++ }, ++ { ++ "name": "service", ++ "type": "str" ++ }, ++ { ++ "name": "family", ++ "type": "402" ++ }, ++ { ++ "name": "websocket", ++ "type": "bool" ++ }, ++ { ++ "name": "auth", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "408", ++ "members": [ ++ { ++ "name": "host", ++ "type": "str" ++ }, ++ { ++ "name": "service", ++ "type": "str" ++ }, ++ { ++ "name": "family", ++ "type": "402" ++ }, ++ { ++ "name": "websocket", ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[409]", ++ "element-type": "409", ++ "meta-type": "array" ++ }, ++ { ++ "name": "409", ++ "tag": "type", ++ "variants": [ ++ { ++ "case": "number", ++ "type": "626" ++ }, ++ { ++ "case": "qcode", ++ "type": "627" ++ } ++ ], ++ "members": [ ++ { ++ "name": "type", ++ "type": "625" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[410]", ++ "element-type": "410", ++ "meta-type": "array" ++ }, ++ { ++ "name": "410", ++ "tag": "type", ++ "variants": [ ++ { ++ "case": "key", ++ "type": "629" ++ }, ++ { ++ "case": "btn", ++ "type": "630" ++ }, ++ { ++ "case": "rel", ++ "type": "631" ++ }, ++ { ++ "case": "abs", ++ "type": "631" ++ }, ++ { ++ "case": "mtt", ++ "type": "632" ++ } ++ ], ++ "members": [ ++ { ++ "name": "type", ++ "type": "628" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "411", ++ "members": [ ++ { ++ "name": "default" ++ }, ++ { ++ "name": "none" ++ }, ++ { ++ "name": "gtk" ++ }, ++ { ++ "name": "sdl" ++ }, ++ { ++ "name": "curses" ++ }, ++ { ++ "name": "spice-app" ++ }, ++ { ++ "name": "dbus" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "default", ++ "none", ++ "gtk", ++ "sdl", ++ "curses", ++ "spice-app", ++ "dbus" ++ ] ++ }, ++ { ++ "name": "412", ++ "members": [ ++ { ++ "name": "off" ++ }, ++ { ++ "name": "on" ++ }, ++ { ++ "name": "core" ++ }, ++ { ++ "name": "es" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "off", ++ "on", ++ "core", ++ "es" ++ ] ++ }, ++ { ++ "name": "413", ++ "members": [ ++ { ++ "name": "grab-on-hover", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "zoom-to-fit", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "show-tabs", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "show-menubar", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "414", ++ "members": [ ++ { ++ "name": "left-command-key", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "full-grab", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "swap-opt-cmd", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "zoom-to-fit", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "415", ++ "members": [ ++ { ++ "name": "charset", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "416", ++ "members": [ ++ { ++ "name": "rendernode", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "417", ++ "members": [ ++ { ++ "name": "rendernode", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "addr", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "p2p", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "audiodev", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "418", ++ "members": [ ++ { ++ "name": "grab-mod", ++ "default": null, ++ "type": "633" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "419", ++ "members": [ ++ { ++ "name": "vnc" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "vnc" ++ ] ++ }, ++ { ++ "name": "420", ++ "members": [ ++ { ++ "name": "tls-certs", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "421", ++ "members": [ ++ { ++ "name": "vnc" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "vnc" ++ ] ++ }, ++ { ++ "name": "422", ++ "members": [ ++ { ++ "name": "addresses", ++ "default": null, ++ "type": "[386]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "423", ++ "members": [ ++ { ++ "name": "none" ++ }, ++ { ++ "name": "setup" ++ }, ++ { ++ "name": "cancelling" ++ }, ++ { ++ "name": "cancelled" ++ }, ++ { ++ "name": "active" ++ }, ++ { ++ "name": "postcopy-active" ++ }, ++ { ++ "name": "postcopy-paused" ++ }, ++ { ++ "name": "postcopy-recover" ++ }, ++ { ++ "name": "completed" ++ }, ++ { ++ "name": "failed" ++ }, ++ { ++ "name": "colo" ++ }, ++ { ++ "name": "pre-switchover" ++ }, ++ { ++ "name": "device" ++ }, ++ { ++ "name": "wait-unplug" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "none", ++ "setup", ++ "cancelling", ++ "cancelled", ++ "active", ++ "postcopy-active", ++ "postcopy-paused", ++ "postcopy-recover", ++ "completed", ++ "failed", ++ "colo", ++ "pre-switchover", ++ "device", ++ "wait-unplug" ++ ] ++ }, ++ { ++ "name": "424", ++ "members": [ ++ { ++ "name": "transferred", ++ "type": "int" ++ }, ++ { ++ "name": "remaining", ++ "type": "int" ++ }, ++ { ++ "name": "total", ++ "type": "int" ++ }, ++ { ++ "name": "duplicate", ++ "type": "int" ++ }, ++ { ++ "name": "skipped", ++ "type": "int", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "normal", ++ "type": "int" ++ }, ++ { ++ "name": "normal-bytes", ++ "type": "int" ++ }, ++ { ++ "name": "dirty-pages-rate", ++ "type": "int" ++ }, ++ { ++ "name": "mbps", ++ "type": "number" ++ }, ++ { ++ "name": "dirty-sync-count", ++ "type": "int" ++ }, ++ { ++ "name": "postcopy-requests", ++ "type": "int" ++ }, ++ { ++ "name": "page-size", ++ "type": "int" ++ }, ++ { ++ "name": "multifd-bytes", ++ "type": "int" ++ }, ++ { ++ "name": "pages-per-second", ++ "type": "int" ++ }, ++ { ++ "name": "precopy-bytes", ++ "type": "int" ++ }, ++ { ++ "name": "downtime-bytes", ++ "type": "int" ++ }, ++ { ++ "name": "postcopy-bytes", ++ "type": "int" ++ }, ++ { ++ "name": "dirty-sync-missed-zero-copy", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "425", ++ "members": [ ++ { ++ "name": "transferred", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "426", ++ "members": [ ++ { ++ "name": "cache-size", ++ "type": "int" ++ }, ++ { ++ "name": "bytes", ++ "type": "int" ++ }, ++ { ++ "name": "pages", ++ "type": "int" ++ }, ++ { ++ "name": "cache-miss", ++ "type": "int" ++ }, ++ { ++ "name": "cache-miss-rate", ++ "type": "number" ++ }, ++ { ++ "name": "encoding-rate", ++ "type": "number" ++ }, ++ { ++ "name": "overflow", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "427", ++ "members": [ ++ { ++ "name": "pages", ++ "type": "int" ++ }, ++ { ++ "name": "busy", ++ "type": "int" ++ }, ++ { ++ "name": "busy-rate", ++ "type": "number" ++ }, ++ { ++ "name": "compressed-size", ++ "type": "int" ++ }, ++ { ++ "name": "compression-rate", ++ "type": "number" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[386]", ++ "element-type": "386", ++ "meta-type": "array" ++ }, ++ { ++ "name": "428", ++ "members": [ ++ { ++ "name": "xbzrle" ++ }, ++ { ++ "name": "rdma-pin-all" ++ }, ++ { ++ "name": "auto-converge" ++ }, ++ { ++ "name": "zero-blocks" ++ }, ++ { ++ "name": "compress", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "events" ++ }, ++ { ++ "name": "postcopy-ram" ++ }, ++ { ++ "name": "x-colo", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "release-ram" ++ }, ++ { ++ "name": "block", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "return-path" ++ }, ++ { ++ "name": "pause-before-switchover" ++ }, ++ { ++ "name": "multifd" ++ }, ++ { ++ "name": "dirty-bitmaps" ++ }, ++ { ++ "name": "postcopy-blocktime" ++ }, ++ { ++ "name": "late-block-activate" ++ }, ++ { ++ "name": "x-ignore-shared", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "validate-uuid" ++ }, ++ { ++ "name": "background-snapshot" ++ }, ++ { ++ "name": "zero-copy-send" ++ }, ++ { ++ "name": "postcopy-preempt" ++ }, ++ { ++ "name": "switchover-ack" ++ }, ++ { ++ "name": "dirty-limit" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "xbzrle", ++ "rdma-pin-all", ++ "auto-converge", ++ "zero-blocks", ++ "compress", ++ "events", ++ "postcopy-ram", ++ "x-colo", ++ "release-ram", ++ "block", ++ "return-path", ++ "pause-before-switchover", ++ "multifd", ++ "dirty-bitmaps", ++ "postcopy-blocktime", ++ "late-block-activate", ++ "x-ignore-shared", ++ "validate-uuid", ++ "background-snapshot", ++ "zero-copy-send", ++ "postcopy-preempt", ++ "switchover-ack", ++ "dirty-limit" ++ ] ++ }, ++ { ++ "name": "429", ++ "members": [ ++ { ++ "name": "none" ++ }, ++ { ++ "name": "zlib" ++ }, ++ { ++ "name": "zstd" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "none", ++ "zlib", ++ "zstd" ++ ] ++ }, ++ { ++ "name": "[430]", ++ "element-type": "430", ++ "meta-type": "array" ++ }, ++ { ++ "name": "430", ++ "members": [ ++ { ++ "name": "node-name", ++ "type": "str" ++ }, ++ { ++ "name": "alias", ++ "type": "str" ++ }, ++ { ++ "name": "bitmaps", ++ "type": "[634]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "431", ++ "members": [ ++ { ++ "name": "normal" ++ }, ++ { ++ "name": "cpr-reboot" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "normal", ++ "cpr-reboot" ++ ] ++ }, ++ { ++ "name": "432", ++ "members": [ ++ { ++ "name": "none" ++ }, ++ { ++ "name": "primary" ++ }, ++ { ++ "name": "secondary" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "none", ++ "primary", ++ "secondary" ++ ] ++ }, ++ { ++ "name": "433", ++ "members": [ ++ { ++ "name": "none" ++ }, ++ { ++ "name": "request" ++ }, ++ { ++ "name": "error" ++ }, ++ { ++ "name": "processing" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "none", ++ "request", ++ "error", ++ "processing" ++ ] ++ }, ++ { ++ "name": "[434]", ++ "element-type": "434", ++ "meta-type": "array" ++ }, ++ { ++ "name": "434", ++ "members": [ ++ { ++ "name": "channel-type", ++ "type": "635" ++ }, ++ { ++ "name": "addr", ++ "type": "636" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "435", ++ "members": [ ++ { ++ "name": "second" ++ }, ++ { ++ "name": "millisecond" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "second", ++ "millisecond" ++ ] ++ }, ++ { ++ "name": "436", ++ "members": [ ++ { ++ "name": "page-sampling" ++ }, ++ { ++ "name": "dirty-ring" ++ }, ++ { ++ "name": "dirty-bitmap" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "page-sampling", ++ "dirty-ring", ++ "dirty-bitmap" ++ ] ++ }, ++ { ++ "name": "437", ++ "members": [ ++ { ++ "name": "unstarted" ++ }, ++ { ++ "name": "measuring" ++ }, ++ { ++ "name": "measured" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "unstarted", ++ "measuring", ++ "measured" ++ ] ++ }, ++ { ++ "name": "[438]", ++ "element-type": "438", ++ "meta-type": "array" ++ }, ++ { ++ "name": "438", ++ "members": [ ++ { ++ "name": "id", ++ "type": "int" ++ }, ++ { ++ "name": "dirty-rate", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[439]", ++ "element-type": "439", ++ "meta-type": "array" ++ }, ++ { ++ "name": "439", ++ "tag": "type", ++ "variants": [ ++ { ++ "case": "abort", ++ "type": "638" ++ }, ++ { ++ "case": "block-dirty-bitmap-add", ++ "type": "639" ++ }, ++ { ++ "case": "block-dirty-bitmap-remove", ++ "type": "640" ++ }, ++ { ++ "case": "block-dirty-bitmap-clear", ++ "type": "640" ++ }, ++ { ++ "case": "block-dirty-bitmap-enable", ++ "type": "640" ++ }, ++ { ++ "case": "block-dirty-bitmap-disable", ++ "type": "640" ++ }, ++ { ++ "case": "block-dirty-bitmap-merge", ++ "type": "641" ++ }, ++ { ++ "case": "blockdev-backup", ++ "type": "642" ++ }, ++ { ++ "case": "blockdev-snapshot", ++ "type": "643" ++ }, ++ { ++ "case": "blockdev-snapshot-internal-sync", ++ "type": "644" ++ }, ++ { ++ "case": "blockdev-snapshot-sync", ++ "type": "645" ++ }, ++ { ++ "case": "drive-backup", ++ "type": "646" ++ } ++ ], ++ "members": [ ++ { ++ "name": "type", ++ "type": "637" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "440", ++ "members": [ ++ { ++ "name": "completion-mode", ++ "default": null, ++ "type": "647" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "441", ++ "members": [ ++ { ++ "name": "unavailable" ++ }, ++ { ++ "name": "disabled" ++ }, ++ { ++ "name": "enabled" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "unavailable", ++ "disabled", ++ "enabled" ++ ] ++ }, ++ { ++ "name": "[442]", ++ "element-type": "442", ++ "meta-type": "array" ++ }, ++ { ++ "name": "442", ++ "members": [ ++ { ++ "name": "oob" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "oob" ++ ] ++ }, ++ { ++ "name": "443", ++ "members": [ ++ { ++ "name": "major", ++ "type": "int" ++ }, ++ { ++ "name": "minor", ++ "type": "int" ++ }, ++ { ++ "name": "micro", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "444", ++ "members": [ ++ { ++ "name": "builtin" ++ }, ++ { ++ "name": "enum" ++ }, ++ { ++ "name": "array" ++ }, ++ { ++ "name": "object" ++ }, ++ { ++ "name": "alternate" ++ }, ++ { ++ "name": "command" ++ }, ++ { ++ "name": "event" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "builtin", ++ "enum", ++ "array", ++ "object", ++ "alternate", ++ "command", ++ "event" ++ ] ++ }, ++ { ++ "name": "445", ++ "members": [ ++ { ++ "name": "json-type", ++ "type": "648" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "446", ++ "members": [ ++ { ++ "name": "members", ++ "type": "[649]" ++ }, ++ { ++ "name": "values", ++ "type": "[str]", ++ "features": [ ++ "deprecated" ++ ] ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "447", ++ "members": [ ++ { ++ "name": "element-type", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "448", ++ "members": [ ++ { ++ "name": "members", ++ "type": "[650]" ++ }, ++ { ++ "name": "tag", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "variants", ++ "default": null, ++ "type": "[651]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "449", ++ "members": [ ++ { ++ "name": "members", ++ "type": "[652]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "450", ++ "members": [ ++ { ++ "name": "arg-type", ++ "type": "str" ++ }, ++ { ++ "name": "ret-type", ++ "type": "str" ++ }, ++ { ++ "name": "allow-oob", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "451", ++ "members": [ ++ { ++ "name": "arg-type", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "452", ++ "members": [ ++ { ++ "name": "authz-list" ++ }, ++ { ++ "name": "authz-listfile" ++ }, ++ { ++ "name": "authz-pam" ++ }, ++ { ++ "name": "authz-simple" ++ }, ++ { ++ "name": "can-bus" ++ }, ++ { ++ "name": "can-host-socketcan" ++ }, ++ { ++ "name": "colo-compare" ++ }, ++ { ++ "name": "cryptodev-backend" ++ }, ++ { ++ "name": "cryptodev-backend-builtin" ++ }, ++ { ++ "name": "cryptodev-backend-lkcf" ++ }, ++ { ++ "name": "cryptodev-vhost-user" ++ }, ++ { ++ "name": "dbus-vmstate" ++ }, ++ { ++ "name": "filter-buffer" ++ }, ++ { ++ "name": "filter-dump" ++ }, ++ { ++ "name": "filter-mirror" ++ }, ++ { ++ "name": "filter-redirector" ++ }, ++ { ++ "name": "filter-replay" ++ }, ++ { ++ "name": "filter-rewriter" ++ }, ++ { ++ "name": "input-barrier" ++ }, ++ { ++ "name": "input-linux" ++ }, ++ { ++ "name": "iothread" ++ }, ++ { ++ "name": "main-loop" ++ }, ++ { ++ "name": "memory-backend-epc" ++ }, ++ { ++ "name": "memory-backend-file" ++ }, ++ { ++ "name": "memory-backend-memfd" ++ }, ++ { ++ "name": "memory-backend-ram" ++ }, ++ { ++ "name": "pef-guest" ++ }, ++ { ++ "name": "pr-manager-helper" ++ }, ++ { ++ "name": "qtest" ++ }, ++ { ++ "name": "rng-builtin" ++ }, ++ { ++ "name": "rng-egd" ++ }, ++ { ++ "name": "rng-random" ++ }, ++ { ++ "name": "secret" ++ }, ++ { ++ "name": "secret_keyring" ++ }, ++ { ++ "name": "sev-guest" ++ }, ++ { ++ "name": "thread-context" ++ }, ++ { ++ "name": "s390-pv-guest" ++ }, ++ { ++ "name": "throttle-group" ++ }, ++ { ++ "name": "tls-creds-anon" ++ }, ++ { ++ "name": "tls-creds-psk" ++ }, ++ { ++ "name": "tls-creds-x509" ++ }, ++ { ++ "name": "tls-cipher-suites" ++ }, ++ { ++ "name": "x-remote-object", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-vfio-user-server", ++ "features": [ ++ "unstable" ++ ] ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "authz-list", ++ "authz-listfile", ++ "authz-pam", ++ "authz-simple", ++ "can-bus", ++ "can-host-socketcan", ++ "colo-compare", ++ "cryptodev-backend", ++ "cryptodev-backend-builtin", ++ "cryptodev-backend-lkcf", ++ "cryptodev-vhost-user", ++ "dbus-vmstate", ++ "filter-buffer", ++ "filter-dump", ++ "filter-mirror", ++ "filter-redirector", ++ "filter-replay", ++ "filter-rewriter", ++ "input-barrier", ++ "input-linux", ++ "iothread", ++ "main-loop", ++ "memory-backend-epc", ++ "memory-backend-file", ++ "memory-backend-memfd", ++ "memory-backend-ram", ++ "pef-guest", ++ "pr-manager-helper", ++ "qtest", ++ "rng-builtin", ++ "rng-egd", ++ "rng-random", ++ "secret", ++ "secret_keyring", ++ "sev-guest", ++ "thread-context", ++ "s390-pv-guest", ++ "throttle-group", ++ "tls-creds-anon", ++ "tls-creds-psk", ++ "tls-creds-x509", ++ "tls-cipher-suites", ++ "x-remote-object", ++ "x-vfio-user-server" ++ ] ++ }, ++ { ++ "name": "453", ++ "members": [ ++ { ++ "name": "policy", ++ "default": null, ++ "type": "653" ++ }, ++ { ++ "name": "rules", ++ "default": null, ++ "type": "[654]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "454", ++ "members": [ ++ { ++ "name": "filename", ++ "type": "str" ++ }, ++ { ++ "name": "refresh", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "455", ++ "members": [ ++ { ++ "name": "service", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "456", ++ "members": [ ++ { ++ "name": "identity", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "457", ++ "members": [ ++ { ++ "name": "if", ++ "type": "str" ++ }, ++ { ++ "name": "canbus", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "458", ++ "members": [ ++ { ++ "name": "primary_in", ++ "type": "str" ++ }, ++ { ++ "name": "secondary_in", ++ "type": "str" ++ }, ++ { ++ "name": "outdev", ++ "type": "str" ++ }, ++ { ++ "name": "iothread", ++ "type": "str" ++ }, ++ { ++ "name": "notify_dev", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "compare_timeout", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "expired_scan_cycle", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "max_queue_size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "vnet_hdr_support", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "459", ++ "members": [ ++ { ++ "name": "queues", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "throttle-bps", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "throttle-ops", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "460", ++ "members": [ ++ { ++ "name": "queues", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "throttle-bps", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "throttle-ops", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "chardev", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "461", ++ "members": [ ++ { ++ "name": "addr", ++ "type": "str" ++ }, ++ { ++ "name": "id-list", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "462", ++ "members": [ ++ { ++ "name": "netdev", ++ "type": "str" ++ }, ++ { ++ "name": "queue", ++ "default": null, ++ "type": "655" ++ }, ++ { ++ "name": "status", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "position", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "insert", ++ "default": null, ++ "type": "656" ++ }, ++ { ++ "name": "interval", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "463", ++ "members": [ ++ { ++ "name": "netdev", ++ "type": "str" ++ }, ++ { ++ "name": "queue", ++ "default": null, ++ "type": "655" ++ }, ++ { ++ "name": "status", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "position", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "insert", ++ "default": null, ++ "type": "656" ++ }, ++ { ++ "name": "file", ++ "type": "str" ++ }, ++ { ++ "name": "maxlen", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "464", ++ "members": [ ++ { ++ "name": "netdev", ++ "type": "str" ++ }, ++ { ++ "name": "queue", ++ "default": null, ++ "type": "655" ++ }, ++ { ++ "name": "status", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "position", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "insert", ++ "default": null, ++ "type": "656" ++ }, ++ { ++ "name": "outdev", ++ "type": "str" ++ }, ++ { ++ "name": "vnet_hdr_support", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "465", ++ "members": [ ++ { ++ "name": "netdev", ++ "type": "str" ++ }, ++ { ++ "name": "queue", ++ "default": null, ++ "type": "655" ++ }, ++ { ++ "name": "status", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "position", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "insert", ++ "default": null, ++ "type": "656" ++ }, ++ { ++ "name": "indev", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "outdev", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "vnet_hdr_support", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "466", ++ "members": [ ++ { ++ "name": "netdev", ++ "type": "str" ++ }, ++ { ++ "name": "queue", ++ "default": null, ++ "type": "655" ++ }, ++ { ++ "name": "status", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "position", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "insert", ++ "default": null, ++ "type": "656" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "467", ++ "members": [ ++ { ++ "name": "netdev", ++ "type": "str" ++ }, ++ { ++ "name": "queue", ++ "default": null, ++ "type": "655" ++ }, ++ { ++ "name": "status", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "position", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "insert", ++ "default": null, ++ "type": "656" ++ }, ++ { ++ "name": "vnet_hdr_support", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "468", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "server", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "port", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "x-origin", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "y-origin", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "width", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "height", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "469", ++ "members": [ ++ { ++ "name": "evdev", ++ "type": "str" ++ }, ++ { ++ "name": "grab_all", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "repeat", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "grab-toggle", ++ "default": null, ++ "type": "657" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "470", ++ "members": [ ++ { ++ "name": "aio-max-batch", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "thread-pool-min", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "thread-pool-max", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "poll-max-ns", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "poll-grow", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "poll-shrink", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "471", ++ "members": [ ++ { ++ "name": "aio-max-batch", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "thread-pool-min", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "thread-pool-max", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "472", ++ "members": [ ++ { ++ "name": "dump", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "host-nodes", ++ "default": null, ++ "type": "[int]" ++ }, ++ { ++ "name": "merge", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "policy", ++ "default": null, ++ "type": "495" ++ }, ++ { ++ "name": "prealloc", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "prealloc-threads", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "prealloc-context", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "share", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "reserve", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "x-use-canonical-path-for-ramblock-id", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "473", ++ "members": [ ++ { ++ "name": "dump", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "host-nodes", ++ "default": null, ++ "type": "[int]" ++ }, ++ { ++ "name": "merge", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "policy", ++ "default": null, ++ "type": "495" ++ }, ++ { ++ "name": "prealloc", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "prealloc-threads", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "prealloc-context", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "share", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "reserve", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "x-use-canonical-path-for-ramblock-id", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "align", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "offset", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "discard-data", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "mem-path", ++ "type": "str" ++ }, ++ { ++ "name": "readonly", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "rom", ++ "default": null, ++ "type": "567" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "474", ++ "members": [ ++ { ++ "name": "dump", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "host-nodes", ++ "default": null, ++ "type": "[int]" ++ }, ++ { ++ "name": "merge", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "policy", ++ "default": null, ++ "type": "495" ++ }, ++ { ++ "name": "prealloc", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "prealloc-threads", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "prealloc-context", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "share", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "reserve", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "x-use-canonical-path-for-ramblock-id", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "hugetlb", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "hugetlbsize", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "seal", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "475", ++ "members": [ ++ { ++ "name": "dump", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "host-nodes", ++ "default": null, ++ "type": "[int]" ++ }, ++ { ++ "name": "merge", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "policy", ++ "default": null, ++ "type": "495" ++ }, ++ { ++ "name": "prealloc", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "prealloc-threads", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "prealloc-context", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "share", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "reserve", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "x-use-canonical-path-for-ramblock-id", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "476", ++ "members": [ ++ { ++ "name": "path", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "477", ++ "members": [ ++ { ++ "name": "chardev", ++ "type": "str" ++ }, ++ { ++ "name": "log", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "478", ++ "members": [ ++ { ++ "name": "opened", ++ "default": null, ++ "type": "bool", ++ "features": [ ++ "deprecated" ++ ] ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "479", ++ "members": [ ++ { ++ "name": "opened", ++ "default": null, ++ "type": "bool", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "chardev", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "480", ++ "members": [ ++ { ++ "name": "opened", ++ "default": null, ++ "type": "bool", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "filename", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "481", ++ "members": [ ++ { ++ "name": "loaded", ++ "default": null, ++ "type": "bool", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "format", ++ "default": null, ++ "type": "658" ++ }, ++ { ++ "name": "keyid", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "iv", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "data", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "file", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "482", ++ "members": [ ++ { ++ "name": "loaded", ++ "default": null, ++ "type": "bool", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "format", ++ "default": null, ++ "type": "658" ++ }, ++ { ++ "name": "keyid", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "iv", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "serial", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "483", ++ "members": [ ++ { ++ "name": "sev-device", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "dh-cert-file", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "session-file", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "policy", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "handle", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "cbitpos", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "reduced-phys-bits", ++ "type": "int" ++ }, ++ { ++ "name": "kernel-hashes", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "484", ++ "members": [ ++ { ++ "name": "cpu-affinity", ++ "default": null, ++ "type": "[int]" ++ }, ++ { ++ "name": "node-affinity", ++ "default": null, ++ "type": "[int]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "485", ++ "members": [ ++ { ++ "name": "limits", ++ "default": null, ++ "type": "659" ++ }, ++ { ++ "name": "x-iops-total", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-iops-total-max", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-iops-total-max-length", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-iops-read", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-iops-read-max", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-iops-read-max-length", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-iops-write", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-iops-write-max", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-iops-write-max-length", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-bps-total", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-bps-total-max", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-bps-total-max-length", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-bps-read", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-bps-read-max", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-bps-read-max-length", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-bps-write", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-bps-write-max", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-bps-write-max-length", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "unstable" ++ ] ++ }, ++ { ++ "name": "x-iops-size", ++ "default": null, ++ "type": "int", ++ "features": [ ++ "unstable" ++ ] ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "486", ++ "members": [ ++ { ++ "name": "verify-peer", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "dir", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "endpoint", ++ "default": null, ++ "type": "660" ++ }, ++ { ++ "name": "priority", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "loaded", ++ "default": null, ++ "type": "bool", ++ "features": [ ++ "deprecated" ++ ] ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "487", ++ "members": [ ++ { ++ "name": "verify-peer", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "dir", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "endpoint", ++ "default": null, ++ "type": "660" ++ }, ++ { ++ "name": "priority", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "loaded", ++ "default": null, ++ "type": "bool", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "username", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "488", ++ "members": [ ++ { ++ "name": "verify-peer", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "dir", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "endpoint", ++ "default": null, ++ "type": "660" ++ }, ++ { ++ "name": "priority", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "loaded", ++ "default": null, ++ "type": "bool", ++ "features": [ ++ "deprecated" ++ ] ++ }, ++ { ++ "name": "sanity-check", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "passwordid", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "489", ++ "members": [ ++ { ++ "name": "verify-peer", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "dir", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "endpoint", ++ "default": null, ++ "type": "660" ++ }, ++ { ++ "name": "priority", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "490", ++ "members": [ ++ { ++ "name": "fd", ++ "type": "str" ++ }, ++ { ++ "name": "devid", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "491", ++ "members": [ ++ { ++ "name": "socket", ++ "type": "386" ++ }, ++ { ++ "name": "device", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "492", ++ "members": [ ++ { ++ "name": "node-id", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "drawer-id", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "book-id", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "socket-id", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "die-id", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "cluster-id", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "core-id", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "thread-id", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "493", ++ "members": [ ++ { ++ "name": "aarch64" ++ }, ++ { ++ "name": "alpha" ++ }, ++ { ++ "name": "arm" ++ }, ++ { ++ "name": "avr" ++ }, ++ { ++ "name": "cris" ++ }, ++ { ++ "name": "hppa" ++ }, ++ { ++ "name": "i386" ++ }, ++ { ++ "name": "loongarch64" ++ }, ++ { ++ "name": "m68k" ++ }, ++ { ++ "name": "microblaze" ++ }, ++ { ++ "name": "microblazeel" ++ }, ++ { ++ "name": "mips" ++ }, ++ { ++ "name": "mips64" ++ }, ++ { ++ "name": "mips64el" ++ }, ++ { ++ "name": "mipsel" ++ }, ++ { ++ "name": "nios2" ++ }, ++ { ++ "name": "or1k" ++ }, ++ { ++ "name": "ppc" ++ }, ++ { ++ "name": "ppc64" ++ }, ++ { ++ "name": "riscv32" ++ }, ++ { ++ "name": "riscv64" ++ }, ++ { ++ "name": "rx" ++ }, ++ { ++ "name": "s390x" ++ }, ++ { ++ "name": "sh4" ++ }, ++ { ++ "name": "sh4eb" ++ }, ++ { ++ "name": "sparc" ++ }, ++ { ++ "name": "sparc64" ++ }, ++ { ++ "name": "tricore" ++ }, ++ { ++ "name": "x86_64" ++ }, ++ { ++ "name": "xtensa" ++ }, ++ { ++ "name": "xtensaeb" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "aarch64", ++ "alpha", ++ "arm", ++ "avr", ++ "cris", ++ "hppa", ++ "i386", ++ "loongarch64", ++ "m68k", ++ "microblaze", ++ "microblazeel", ++ "mips", ++ "mips64", ++ "mips64el", ++ "mipsel", ++ "nios2", ++ "or1k", ++ "ppc", ++ "ppc64", ++ "riscv32", ++ "riscv64", ++ "rx", ++ "s390x", ++ "sh4", ++ "sh4eb", ++ "sparc", ++ "sparc64", ++ "tricore", ++ "x86_64", ++ "xtensa", ++ "xtensaeb" ++ ] ++ }, ++ { ++ "name": "494", ++ "members": [ ++ { ++ "name": "cpu-state", ++ "type": "661" ++ }, ++ { ++ "name": "dedicated", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "entitlement", ++ "default": null, ++ "type": "511" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "495", ++ "members": [ ++ { ++ "name": "default" ++ }, ++ { ++ "name": "preferred" ++ }, ++ { ++ "name": "bind" ++ }, ++ { ++ "name": "interleave" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "default", ++ "preferred", ++ "bind", ++ "interleave" ++ ] ++ }, ++ { ++ "name": "496", ++ "members": [ ++ { ++ "name": "node" ++ }, ++ { ++ "name": "dist" ++ }, ++ { ++ "name": "cpu" ++ }, ++ { ++ "name": "hmat-lb" ++ }, ++ { ++ "name": "hmat-cache" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "node", ++ "dist", ++ "cpu", ++ "hmat-lb", ++ "hmat-cache" ++ ] ++ }, ++ { ++ "name": "497", ++ "members": [ ++ { ++ "name": "nodeid", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "cpus", ++ "default": null, ++ "type": "[int]" ++ }, ++ { ++ "name": "mem", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "memdev", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "initiator", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "498", ++ "members": [ ++ { ++ "name": "src", ++ "type": "int" ++ }, ++ { ++ "name": "dst", ++ "type": "int" ++ }, ++ { ++ "name": "val", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "499", ++ "members": [ ++ { ++ "name": "node-id", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "drawer-id", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "book-id", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "socket-id", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "die-id", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "cluster-id", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "core-id", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "thread-id", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "500", ++ "members": [ ++ { ++ "name": "initiator", ++ "type": "int" ++ }, ++ { ++ "name": "target", ++ "type": "int" ++ }, ++ { ++ "name": "hierarchy", ++ "type": "662" ++ }, ++ { ++ "name": "data-type", ++ "type": "663" ++ }, ++ { ++ "name": "latency", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "bandwidth", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "501", ++ "members": [ ++ { ++ "name": "node-id", ++ "type": "int" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "level", ++ "type": "int" ++ }, ++ { ++ "name": "associativity", ++ "type": "664" ++ }, ++ { ++ "name": "policy", ++ "type": "665" ++ }, ++ { ++ "name": "line", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "502", ++ "members": [ ++ { ++ "name": "dimm" ++ }, ++ { ++ "name": "nvdimm" ++ }, ++ { ++ "name": "virtio-pmem" ++ }, ++ { ++ "name": "virtio-mem" ++ }, ++ { ++ "name": "sgx-epc" ++ }, ++ { ++ "name": "hv-balloon" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "dimm", ++ "nvdimm", ++ "virtio-pmem", ++ "virtio-mem", ++ "sgx-epc", ++ "hv-balloon" ++ ] ++ }, ++ { ++ "name": "503", ++ "members": [ ++ { ++ "name": "data", ++ "type": "666" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "504", ++ "members": [ ++ { ++ "name": "data", ++ "type": "667" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "505", ++ "members": [ ++ { ++ "name": "data", ++ "type": "668" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "506", ++ "members": [ ++ { ++ "name": "data", ++ "type": "669" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "507", ++ "members": [ ++ { ++ "name": "data", ++ "type": "670" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "508", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "props", ++ "default": null, ++ "type": "any" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "509", ++ "members": [ ++ { ++ "name": "incompatible" ++ }, ++ { ++ "name": "identical" ++ }, ++ { ++ "name": "superset" ++ }, ++ { ++ "name": "subset" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "incompatible", ++ "identical", ++ "superset", ++ "subset" ++ ] ++ }, ++ { ++ "name": "510", ++ "members": [ ++ { ++ "name": "static" ++ }, ++ { ++ "name": "full" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "static", ++ "full" ++ ] ++ }, ++ { ++ "name": "511", ++ "members": [ ++ { ++ "name": "auto" ++ }, ++ { ++ "name": "low" ++ }, ++ { ++ "name": "medium" ++ }, ++ { ++ "name": "high" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "auto", ++ "low", ++ "medium", ++ "high" ++ ] ++ }, ++ { ++ "name": "513", ++ "members": [ ++ { ++ "name": "none" ++ }, ++ { ++ "name": "record" ++ }, ++ { ++ "name": "play" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "none", ++ "record", ++ "play" ++ ] ++ }, ++ { ++ "name": "514", ++ "members": [ ++ { ++ "name": "block-node" ++ }, ++ { ++ "name": "chardev" ++ }, ++ { ++ "name": "migration" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "block-node", ++ "chardev", ++ "migration" ++ ] ++ }, ++ { ++ "name": "515", ++ "members": [ ++ { ++ "name": "node-name", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "516", ++ "members": [ ++ { ++ "name": "id", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[517]", ++ "element-type": "517", ++ "meta-type": "array" ++ }, ++ { ++ "name": "517", ++ "members": [ ++ { ++ "name": "fd", ++ "type": "int" ++ }, ++ { ++ "name": "opaque", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[518]", ++ "element-type": "518", ++ "meta-type": "array" ++ }, ++ { ++ "name": "518", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "type", ++ "type": "671" ++ }, ++ { ++ "name": "help", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "default", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[520]", ++ "element-type": "520", ++ "meta-type": "array" ++ }, ++ { ++ "name": "520", ++ "members": [ ++ { ++ "name": "node", ++ "type": "int" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "522", ++ "members": [ ++ { ++ "name": "none" ++ }, ++ { ++ "name": "alsa" ++ }, ++ { ++ "name": "dbus" ++ }, ++ { ++ "name": "jack" ++ }, ++ { ++ "name": "oss" ++ }, ++ { ++ "name": "pa" ++ }, ++ { ++ "name": "pipewire" ++ }, ++ { ++ "name": "sdl" ++ }, ++ { ++ "name": "spice" ++ }, ++ { ++ "name": "wav" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "none", ++ "alsa", ++ "dbus", ++ "jack", ++ "oss", ++ "pa", ++ "pipewire", ++ "sdl", ++ "spice", ++ "wav" ++ ] ++ }, ++ { ++ "name": "523", ++ "members": [ ++ { ++ "name": "in", ++ "default": null, ++ "type": "672" ++ }, ++ { ++ "name": "out", ++ "default": null, ++ "type": "672" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "524", ++ "members": [ ++ { ++ "name": "in", ++ "default": null, ++ "type": "673" ++ }, ++ { ++ "name": "out", ++ "default": null, ++ "type": "673" ++ }, ++ { ++ "name": "threshold", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "525", ++ "members": [ ++ { ++ "name": "in", ++ "default": null, ++ "type": "674" ++ }, ++ { ++ "name": "out", ++ "default": null, ++ "type": "674" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "526", ++ "members": [ ++ { ++ "name": "in", ++ "default": null, ++ "type": "672" ++ }, ++ { ++ "name": "out", ++ "default": null, ++ "type": "672" ++ }, ++ { ++ "name": "latency", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "527", ++ "members": [ ++ { ++ "name": "in", ++ "default": null, ++ "type": "675" ++ }, ++ { ++ "name": "out", ++ "default": null, ++ "type": "675" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "528", ++ "members": [ ++ { ++ "name": "in", ++ "default": null, ++ "type": "676" ++ }, ++ { ++ "name": "out", ++ "default": null, ++ "type": "676" ++ }, ++ { ++ "name": "try-mmap", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "exclusive", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "dsp-policy", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "529", ++ "members": [ ++ { ++ "name": "in", ++ "default": null, ++ "type": "677" ++ }, ++ { ++ "name": "out", ++ "default": null, ++ "type": "677" ++ }, ++ { ++ "name": "server", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "530", ++ "members": [ ++ { ++ "name": "in", ++ "default": null, ++ "type": "678" ++ }, ++ { ++ "name": "out", ++ "default": null, ++ "type": "678" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "531", ++ "members": [ ++ { ++ "name": "in", ++ "default": null, ++ "type": "679" ++ }, ++ { ++ "name": "out", ++ "default": null, ++ "type": "679" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "532", ++ "members": [ ++ { ++ "name": "in", ++ "default": null, ++ "type": "672" ++ }, ++ { ++ "name": "out", ++ "default": null, ++ "type": "672" ++ }, ++ { ++ "name": "dev", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "latency", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "533", ++ "members": [ ++ { ++ "name": "in", ++ "default": null, ++ "type": "672" ++ }, ++ { ++ "name": "out", ++ "default": null, ++ "type": "672" ++ }, ++ { ++ "name": "path", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "534", ++ "members": [ ++ { ++ "name": "DIMM" ++ }, ++ { ++ "name": "CPU" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "DIMM", ++ "CPU" ++ ] ++ }, ++ { ++ "name": "[535]", ++ "element-type": "535", ++ "meta-type": "array" ++ }, ++ { ++ "name": "535", ++ "members": [ ++ { ++ "name": "bus", ++ "type": "int" ++ }, ++ { ++ "name": "slot", ++ "type": "int" ++ }, ++ { ++ "name": "function", ++ "type": "int" ++ }, ++ { ++ "name": "class_info", ++ "type": "680" ++ }, ++ { ++ "name": "id", ++ "type": "681" ++ }, ++ { ++ "name": "irq", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "irq_pin", ++ "type": "int" ++ }, ++ { ++ "name": "qdev_id", ++ "type": "str" ++ }, ++ { ++ "name": "pci_bridge", ++ "default": null, ++ "type": "682" ++ }, ++ { ++ "name": "regions", ++ "type": "[683]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "536", ++ "members": [ ++ { ++ "name": "vm" ++ }, ++ { ++ "name": "vcpu" ++ }, ++ { ++ "name": "cryptodev" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "vm", ++ "vcpu", ++ "cryptodev" ++ ] ++ }, ++ { ++ "name": "[537]", ++ "element-type": "537", ++ "meta-type": "array" ++ }, ++ { ++ "name": "537", ++ "members": [ ++ { ++ "name": "provider", ++ "type": "539" ++ }, ++ { ++ "name": "names", ++ "default": null, ++ "type": "[str]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "538", ++ "members": [ ++ { ++ "name": "vcpus", ++ "default": null, ++ "type": "[str]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "539", ++ "members": [ ++ { ++ "name": "kvm" ++ }, ++ { ++ "name": "cryptodev" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "kvm", ++ "cryptodev" ++ ] ++ }, ++ { ++ "name": "[540]", ++ "element-type": "540", ++ "meta-type": "array" ++ }, ++ { ++ "name": "540", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "value", ++ "type": "684" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[541]", ++ "element-type": "541", ++ "meta-type": "array" ++ }, ++ { ++ "name": "541", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "type", ++ "type": "685" ++ }, ++ { ++ "name": "unit", ++ "default": null, ++ "type": "686" ++ }, ++ { ++ "name": "base", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "exponent", ++ "type": "int" ++ }, ++ { ++ "name": "bucket-size", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "542", ++ "members": [ ++ { ++ "name": "transports", ++ "type": "[str]" ++ }, ++ { ++ "name": "dev-features", ++ "default": null, ++ "type": "[str]" ++ }, ++ { ++ "name": "unknown-dev-features", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "543", ++ "members": [ ++ { ++ "name": "statuses", ++ "type": "[str]" ++ }, ++ { ++ "name": "unknown-statuses", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "544", ++ "members": [ ++ { ++ "name": "n-mem-sections", ++ "type": "int" ++ }, ++ { ++ "name": "n-tmp-sections", ++ "type": "int" ++ }, ++ { ++ "name": "nvqs", ++ "type": "int" ++ }, ++ { ++ "name": "vq-index", ++ "type": "int" ++ }, ++ { ++ "name": "features", ++ "type": "542" ++ }, ++ { ++ "name": "acked-features", ++ "type": "542" ++ }, ++ { ++ "name": "backend-features", ++ "type": "542" ++ }, ++ { ++ "name": "protocol-features", ++ "type": "687" ++ }, ++ { ++ "name": "max-queues", ++ "type": "int" ++ }, ++ { ++ "name": "backend-cap", ++ "type": "int" ++ }, ++ { ++ "name": "log-enabled", ++ "type": "bool" ++ }, ++ { ++ "name": "log-size", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[545]", ++ "element-type": "545", ++ "meta-type": "array" ++ }, ++ { ++ "name": "545", ++ "members": [ ++ { ++ "name": "addr", ++ "type": "int" ++ }, ++ { ++ "name": "len", ++ "type": "int" ++ }, ++ { ++ "name": "flags", ++ "type": "[str]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "546", ++ "members": [ ++ { ++ "name": "flags", ++ "type": "int" ++ }, ++ { ++ "name": "idx", ++ "type": "int" ++ }, ++ { ++ "name": "ring", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "547", ++ "members": [ ++ { ++ "name": "flags", ++ "type": "int" ++ }, ++ { ++ "name": "idx", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[548]", ++ "element-type": "548", ++ "meta-type": "array" ++ }, ++ { ++ "name": "548", ++ "members": [ ++ { ++ "name": "cipher" ++ }, ++ { ++ "name": "hash" ++ }, ++ { ++ "name": "mac" ++ }, ++ { ++ "name": "aead" ++ }, ++ { ++ "name": "akcipher" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "cipher", ++ "hash", ++ "mac", ++ "aead", ++ "akcipher" ++ ] ++ }, ++ { ++ "name": "[549]", ++ "element-type": "549", ++ "meta-type": "array" ++ }, ++ { ++ "name": "549", ++ "members": [ ++ { ++ "name": "queue", ++ "type": "int" ++ }, ++ { ++ "name": "type", ++ "type": "688" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "550", ++ "members": [ ++ { ++ "name": "informational" ++ }, ++ { ++ "name": "warning" ++ }, ++ { ++ "name": "failure" ++ }, ++ { ++ "name": "fatal" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "informational", ++ "warning", ++ "failure", ++ "fatal" ++ ] ++ }, ++ { ++ "name": "[551]", ++ "element-type": "551", ++ "meta-type": "array" ++ }, ++ { ++ "name": "551", ++ "members": [ ++ { ++ "name": "type", ++ "type": "689" ++ }, ++ { ++ "name": "header", ++ "type": "[int]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "552", ++ "members": [ ++ { ++ "name": "cache-data-ecc" ++ }, ++ { ++ "name": "mem-data-ecc" ++ }, ++ { ++ "name": "crc-threshold" ++ }, ++ { ++ "name": "retry-threshold" ++ }, ++ { ++ "name": "cache-poison-received" ++ }, ++ { ++ "name": "mem-poison-received" ++ }, ++ { ++ "name": "physical" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "cache-data-ecc", ++ "mem-data-ecc", ++ "crc-threshold", ++ "retry-threshold", ++ "cache-poison-received", ++ "mem-poison-received", ++ "physical" ++ ] ++ }, ++ { ++ "name": "553", ++ "members": [ ++ { ++ "name": "hyper-v" ++ }, ++ { ++ "name": "s390" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "hyper-v", ++ "s390" ++ ] ++ }, ++ { ++ "name": "554", ++ "members": [ ++ { ++ "name": "arg1", ++ "type": "int" ++ }, ++ { ++ "name": "arg2", ++ "type": "int" ++ }, ++ { ++ "name": "arg3", ++ "type": "int" ++ }, ++ { ++ "name": "arg4", ++ "type": "int" ++ }, ++ { ++ "name": "arg5", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "555", ++ "members": [ ++ { ++ "name": "core", ++ "type": "int" ++ }, ++ { ++ "name": "psw-mask", ++ "type": "int" ++ }, ++ { ++ "name": "psw-addr", ++ "type": "int" ++ }, ++ { ++ "name": "reason", ++ "type": "690" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[556]", ++ "element-type": "556", ++ "meta-type": "array" ++ }, ++ { ++ "name": "556", ++ "members": [ ++ { ++ "name": "interval_length", ++ "type": "int" ++ }, ++ { ++ "name": "min_rd_latency_ns", ++ "type": "int" ++ }, ++ { ++ "name": "max_rd_latency_ns", ++ "type": "int" ++ }, ++ { ++ "name": "avg_rd_latency_ns", ++ "type": "int" ++ }, ++ { ++ "name": "min_wr_latency_ns", ++ "type": "int" ++ }, ++ { ++ "name": "max_wr_latency_ns", ++ "type": "int" ++ }, ++ { ++ "name": "avg_wr_latency_ns", ++ "type": "int" ++ }, ++ { ++ "name": "min_zone_append_latency_ns", ++ "type": "int" ++ }, ++ { ++ "name": "max_zone_append_latency_ns", ++ "type": "int" ++ }, ++ { ++ "name": "avg_zone_append_latency_ns", ++ "type": "int" ++ }, ++ { ++ "name": "min_flush_latency_ns", ++ "type": "int" ++ }, ++ { ++ "name": "max_flush_latency_ns", ++ "type": "int" ++ }, ++ { ++ "name": "avg_flush_latency_ns", ++ "type": "int" ++ }, ++ { ++ "name": "avg_rd_queue_depth", ++ "type": "number" ++ }, ++ { ++ "name": "avg_wr_queue_depth", ++ "type": "number" ++ }, ++ { ++ "name": "avg_zone_append_queue_depth", ++ "type": "number" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "557", ++ "members": [ ++ { ++ "name": "boundaries", ++ "type": "[int]" ++ }, ++ { ++ "name": "bins", ++ "type": "[int]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "558", ++ "members": [ ++ { ++ "name": "discard-nb-ok", ++ "type": "int" ++ }, ++ { ++ "name": "discard-nb-failed", ++ "type": "int" ++ }, ++ { ++ "name": "discard-bytes-ok", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "559", ++ "members": [ ++ { ++ "name": "completion-errors", ++ "type": "int" ++ }, ++ { ++ "name": "aligned-accesses", ++ "type": "int" ++ }, ++ { ++ "name": "unaligned-accesses", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[78]", ++ "element-type": "78", ++ "meta-type": "array" ++ }, ++ { ++ "name": "560", ++ "tag": "type", ++ "variants": [ ++ { ++ "case": "qcow2", ++ "type": "692" ++ }, ++ { ++ "case": "vmdk", ++ "type": "693" ++ }, ++ { ++ "case": "luks", ++ "type": "694" ++ }, ++ { ++ "case": "rbd", ++ "type": "695" ++ }, ++ { ++ "case": "file", ++ "type": "696" ++ } ++ ], ++ "members": [ ++ { ++ "name": "type", ++ "type": "691" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "561", ++ "members": [ ++ { ++ "name": "block-backend" ++ }, ++ { ++ "name": "block-job" ++ }, ++ { ++ "name": "block-driver" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "block-backend", ++ "block-job", ++ "block-driver" ++ ] ++ }, ++ { ++ "name": "[562]", ++ "element-type": "562", ++ "meta-type": "array" ++ }, ++ { ++ "name": "562", ++ "members": [ ++ { ++ "name": "consistent-read" ++ }, ++ { ++ "name": "write" ++ }, ++ { ++ "name": "write-unchanged" ++ }, ++ { ++ "name": "resize" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "consistent-read", ++ "write", ++ "write-unchanged", ++ "resize" ++ ] ++ }, ++ { ++ "name": "563", ++ "members": [ ++ { ++ "type": "58" ++ }, ++ { ++ "type": "str" ++ } ++ ], ++ "meta-type": "alternate" ++ }, ++ { ++ "name": "[564]", ++ "element-type": "564", ++ "meta-type": "array" ++ }, ++ { ++ "name": "564", ++ "members": [ ++ { ++ "name": "event", ++ "type": "697" ++ }, ++ { ++ "name": "state", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "iotype", ++ "default": null, ++ "type": "698" ++ }, ++ { ++ "name": "errno", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "sector", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "once", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "immediately", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[565]", ++ "element-type": "565", ++ "meta-type": "array" ++ }, ++ { ++ "name": "565", ++ "members": [ ++ { ++ "name": "event", ++ "type": "697" ++ }, ++ { ++ "name": "state", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "new_state", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "566", ++ "members": [ ++ { ++ "name": "break-guest-write" ++ }, ++ { ++ "name": "break-snapshot" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "break-guest-write", ++ "break-snapshot" ++ ] ++ }, ++ { ++ "name": "567", ++ "members": [ ++ { ++ "name": "auto" ++ }, ++ { ++ "name": "on" ++ }, ++ { ++ "name": "off" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "auto", ++ "on", ++ "off" ++ ] ++ }, ++ { ++ "name": "568", ++ "members": [ ++ { ++ "name": "threads" ++ }, ++ { ++ "name": "native" ++ }, ++ { ++ "name": "io_uring" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "threads", ++ "native", ++ "io_uring" ++ ] ++ }, ++ { ++ "name": "569", ++ "members": [ ++ { ++ "name": "tcp" ++ }, ++ { ++ "name": "iser" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "tcp", ++ "iser" ++ ] ++ }, ++ { ++ "name": "570", ++ "members": [ ++ { ++ "name": "crc32c" ++ }, ++ { ++ "name": "none" ++ }, ++ { ++ "name": "crc32c-none" ++ }, ++ { ++ "name": "none-crc32c" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "crc32c", ++ "none", ++ "crc32c-none", ++ "none-crc32c" ++ ] ++ }, ++ { ++ "name": "571", ++ "members": [ ++ { ++ "name": "type", ++ "type": "699" ++ }, ++ { ++ "name": "host", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "572", ++ "members": [ ++ { ++ "type": "58" ++ }, ++ { ++ "type": "str" ++ }, ++ { ++ "type": "null" ++ } ++ ], ++ "meta-type": "alternate" ++ }, ++ { ++ "name": "573", ++ "members": [ ++ { ++ "type": "700" ++ }, ++ { ++ "type": "701" ++ } ++ ], ++ "meta-type": "alternate" ++ }, ++ { ++ "name": "574", ++ "tag": "format", ++ "variants": [ ++ { ++ "case": "aes", ++ "type": "703" ++ }, ++ { ++ "case": "luks", ++ "type": "704" ++ } ++ ], ++ "members": [ ++ { ++ "name": "format", ++ "type": "702" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "575", ++ "tag": "format", ++ "variants": [ ++ { ++ "case": "aes", ++ "type": "703" ++ } ++ ], ++ "members": [ ++ { ++ "name": "format", ++ "type": "705" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[563]", ++ "element-type": "563", ++ "meta-type": "array" ++ }, ++ { ++ "name": "576", ++ "members": [ ++ { ++ "name": "quorum" ++ }, ++ { ++ "name": "fifo" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "quorum", ++ "fifo" ++ ] ++ }, ++ { ++ "name": "577", ++ "tag": "format", ++ "variants": [ ++ { ++ "case": "luks", ++ "type": "707" ++ }, ++ { ++ "case": "luks2", ++ "type": "708" ++ }, ++ { ++ "case": "luks-any", ++ "type": "709" ++ } ++ ], ++ "members": [ ++ { ++ "name": "format", ++ "type": "706" ++ }, ++ { ++ "name": "parent", ++ "default": null, ++ "type": "577" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[578]", ++ "element-type": "578", ++ "meta-type": "array" ++ }, ++ { ++ "name": "578", ++ "members": [ ++ { ++ "name": "cephx" ++ }, ++ { ++ "name": "none" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "cephx", ++ "none" ++ ] ++ }, ++ { ++ "name": "[579]", ++ "element-type": "579", ++ "meta-type": "array" ++ }, ++ { ++ "name": "579", ++ "members": [ ++ { ++ "name": "host", ++ "type": "str" ++ }, ++ { ++ "name": "port", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "580", ++ "members": [ ++ { ++ "name": "primary" ++ }, ++ { ++ "name": "secondary" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "primary", ++ "secondary" ++ ] ++ }, ++ { ++ "name": "581", ++ "members": [ ++ { ++ "name": "host", ++ "type": "str" ++ }, ++ { ++ "name": "port", ++ "type": "str" ++ }, ++ { ++ "name": "numeric", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "to", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "ipv4", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "ipv6", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "keep-alive", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "mptcp", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "582", ++ "tag": "mode", ++ "variants": [ ++ { ++ "case": "hash", ++ "type": "711" ++ }, ++ { ++ "case": "none", ++ "type": "0" ++ }, ++ { ++ "case": "known_hosts", ++ "type": "0" ++ } ++ ], ++ "members": [ ++ { ++ "name": "mode", ++ "type": "710" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "583", ++ "members": [ ++ { ++ "name": "filename", ++ "type": "str" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "preallocation", ++ "default": null, ++ "type": "712" ++ }, ++ { ++ "name": "nocow", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "extent-size-hint", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "584", ++ "members": [ ++ { ++ "name": "location", ++ "type": "325" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "preallocation", ++ "default": null, ++ "type": "712" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "585", ++ "members": [ ++ { ++ "name": "key-secret", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "cipher-alg", ++ "default": null, ++ "type": "713" ++ }, ++ { ++ "name": "cipher-mode", ++ "default": null, ++ "type": "714" ++ }, ++ { ++ "name": "ivgen-alg", ++ "default": null, ++ "type": "715" ++ }, ++ { ++ "name": "ivgen-hash-alg", ++ "default": null, ++ "type": "716" ++ }, ++ { ++ "name": "hash-alg", ++ "default": null, ++ "type": "716" ++ }, ++ { ++ "name": "iter-time", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "file", ++ "type": "563" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "preallocation", ++ "default": null, ++ "type": "712" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "586", ++ "members": [ ++ { ++ "name": "location", ++ "type": "332" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "587", ++ "members": [ ++ { ++ "name": "file", ++ "type": "563" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "cluster-size", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "588", ++ "members": [ ++ { ++ "name": "file", ++ "type": "563" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "backing-file", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "encrypt", ++ "default": null, ++ "type": "717" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "589", ++ "members": [ ++ { ++ "name": "file", ++ "type": "563" ++ }, ++ { ++ "name": "data-file", ++ "default": null, ++ "type": "563" ++ }, ++ { ++ "name": "data-file-raw", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "extended-l2", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "version", ++ "default": null, ++ "type": "718" ++ }, ++ { ++ "name": "backing-file", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "backing-fmt", ++ "default": null, ++ "type": "312" ++ }, ++ { ++ "name": "encrypt", ++ "default": null, ++ "type": "717" ++ }, ++ { ++ "name": "cluster-size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "preallocation", ++ "default": null, ++ "type": "712" ++ }, ++ { ++ "name": "lazy-refcounts", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "refcount-bits", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "compression-type", ++ "default": null, ++ "type": "719" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "590", ++ "members": [ ++ { ++ "name": "file", ++ "type": "563" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "backing-file", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "backing-fmt", ++ "default": null, ++ "type": "312" ++ }, ++ { ++ "name": "cluster-size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "table-size", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "591", ++ "members": [ ++ { ++ "name": "location", ++ "type": "342" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "cluster-size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "encrypt", ++ "default": null, ++ "type": "720" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "592", ++ "members": [ ++ { ++ "name": "location", ++ "type": "344" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "593", ++ "members": [ ++ { ++ "name": "file", ++ "type": "563" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "preallocation", ++ "default": null, ++ "type": "712" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "594", ++ "members": [ ++ { ++ "name": "file", ++ "type": "563" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "log-size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "block-size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "subformat", ++ "default": null, ++ "type": "721" ++ }, ++ { ++ "name": "block-state-zero", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "595", ++ "members": [ ++ { ++ "name": "file", ++ "type": "563" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "extents", ++ "default": null, ++ "type": "[563]" ++ }, ++ { ++ "name": "subformat", ++ "default": null, ++ "type": "722" ++ }, ++ { ++ "name": "backing-file", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "adapter-type", ++ "default": null, ++ "type": "723" ++ }, ++ { ++ "name": "hwversion", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "toolsversion", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "zeroed-grain", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "596", ++ "members": [ ++ { ++ "name": "file", ++ "type": "563" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "subformat", ++ "default": null, ++ "type": "724" ++ }, ++ { ++ "name": "force-size", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "597", ++ "members": [ ++ { ++ "name": "state", ++ "type": "725" ++ }, ++ { ++ "name": "new-secret", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "old-secret", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "keyslot", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "iter-time", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "secret", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "598", ++ "members": [ ++ { ++ "name": "encrypt", ++ "default": null, ++ "type": "726" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "null", ++ "json-type": "null", ++ "meta-type": "builtin" ++ }, ++ { ++ "name": "599", ++ "members": [ ++ { ++ "name": "inet" ++ }, ++ { ++ "name": "unix" ++ }, ++ { ++ "name": "vsock" ++ }, ++ { ++ "name": "fd" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "inet", ++ "unix", ++ "vsock", ++ "fd" ++ ] ++ }, ++ { ++ "name": "600", ++ "members": [ ++ { ++ "name": "data", ++ "type": "581" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "601", ++ "members": [ ++ { ++ "name": "data", ++ "type": "621" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "602", ++ "members": [ ++ { ++ "name": "data", ++ "type": "622" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "603", ++ "members": [ ++ { ++ "name": "data", ++ "type": "619" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "604", ++ "members": [ ++ { ++ "name": "off" ++ }, ++ { ++ "name": "on" ++ }, ++ { ++ "name": "auto" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "off", ++ "on", ++ "auto" ++ ] ++ }, ++ { ++ "name": "605", ++ "members": [ ++ { ++ "name": "file" ++ }, ++ { ++ "name": "serial" ++ }, ++ { ++ "name": "parallel" ++ }, ++ { ++ "name": "pipe" ++ }, ++ { ++ "name": "socket" ++ }, ++ { ++ "name": "udp" ++ }, ++ { ++ "name": "pty" ++ }, ++ { ++ "name": "null" ++ }, ++ { ++ "name": "mux" ++ }, ++ { ++ "name": "msmouse" ++ }, ++ { ++ "name": "wctablet" ++ }, ++ { ++ "name": "braille" ++ }, ++ { ++ "name": "testdev" ++ }, ++ { ++ "name": "stdio" ++ }, ++ { ++ "name": "console" ++ }, ++ { ++ "name": "spicevmc" ++ }, ++ { ++ "name": "spiceport" ++ }, ++ { ++ "name": "qemu-vdagent" ++ }, ++ { ++ "name": "dbus" ++ }, ++ { ++ "name": "vc" ++ }, ++ { ++ "name": "ringbuf" ++ }, ++ { ++ "name": "memory" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "file", ++ "serial", ++ "parallel", ++ "pipe", ++ "socket", ++ "udp", ++ "pty", ++ "null", ++ "mux", ++ "msmouse", ++ "wctablet", ++ "braille", ++ "testdev", ++ "stdio", ++ "console", ++ "spicevmc", ++ "spiceport", ++ "qemu-vdagent", ++ "dbus", ++ "vc", ++ "ringbuf", ++ "memory" ++ ] ++ }, ++ { ++ "name": "606", ++ "members": [ ++ { ++ "name": "data", ++ "type": "727" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "607", ++ "members": [ ++ { ++ "name": "data", ++ "type": "728" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "608", ++ "members": [ ++ { ++ "name": "data", ++ "type": "729" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "609", ++ "members": [ ++ { ++ "name": "data", ++ "type": "730" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "610", ++ "members": [ ++ { ++ "name": "data", ++ "type": "731" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "611", ++ "members": [ ++ { ++ "name": "data", ++ "type": "732" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "612", ++ "members": [ ++ { ++ "name": "data", ++ "type": "733" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "613", ++ "members": [ ++ { ++ "name": "data", ++ "type": "734" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "614", ++ "members": [ ++ { ++ "name": "data", ++ "type": "735" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "615", ++ "members": [ ++ { ++ "name": "data", ++ "type": "736" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "616", ++ "members": [ ++ { ++ "name": "data", ++ "type": "737" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "617", ++ "members": [ ++ { ++ "name": "data", ++ "type": "738" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "618", ++ "members": [ ++ { ++ "name": "data", ++ "type": "739" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[619]", ++ "element-type": "619", ++ "meta-type": "array" ++ }, ++ { ++ "name": "619", ++ "members": [ ++ { ++ "name": "str", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "621", ++ "members": [ ++ { ++ "name": "path", ++ "type": "str" ++ }, ++ { ++ "name": "abstract", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "tight", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "622", ++ "members": [ ++ { ++ "name": "cid", ++ "type": "str" ++ }, ++ { ++ "name": "port", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "623", ++ "members": [ ++ { ++ "name": "data", ++ "type": "740" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "624", ++ "members": [ ++ { ++ "name": "data", ++ "type": "741" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "625", ++ "members": [ ++ { ++ "name": "number" ++ }, ++ { ++ "name": "qcode" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "number", ++ "qcode" ++ ] ++ }, ++ { ++ "name": "626", ++ "members": [ ++ { ++ "name": "data", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "627", ++ "members": [ ++ { ++ "name": "data", ++ "type": "742" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "628", ++ "members": [ ++ { ++ "name": "key" ++ }, ++ { ++ "name": "btn" ++ }, ++ { ++ "name": "rel" ++ }, ++ { ++ "name": "abs" ++ }, ++ { ++ "name": "mtt" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "key", ++ "btn", ++ "rel", ++ "abs", ++ "mtt" ++ ] ++ }, ++ { ++ "name": "629", ++ "members": [ ++ { ++ "name": "data", ++ "type": "743" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "630", ++ "members": [ ++ { ++ "name": "data", ++ "type": "744" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "631", ++ "members": [ ++ { ++ "name": "data", ++ "type": "745" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "632", ++ "members": [ ++ { ++ "name": "data", ++ "type": "746" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "633", ++ "members": [ ++ { ++ "name": "lctrl-lalt" ++ }, ++ { ++ "name": "lshift-lctrl-lalt" ++ }, ++ { ++ "name": "rctrl" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "lctrl-lalt", ++ "lshift-lctrl-lalt", ++ "rctrl" ++ ] ++ }, ++ { ++ "name": "number", ++ "json-type": "number", ++ "meta-type": "builtin" ++ }, ++ { ++ "name": "[634]", ++ "element-type": "634", ++ "meta-type": "array" ++ }, ++ { ++ "name": "634", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "alias", ++ "type": "str" ++ }, ++ { ++ "name": "transform", ++ "default": null, ++ "type": "747" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "635", ++ "members": [ ++ { ++ "name": "main" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "main" ++ ] ++ }, ++ { ++ "name": "636", ++ "tag": "transport", ++ "variants": [ ++ { ++ "case": "socket", ++ "type": "386" ++ }, ++ { ++ "case": "exec", ++ "type": "749" ++ }, ++ { ++ "case": "rdma", ++ "type": "581" ++ }, ++ { ++ "case": "file", ++ "type": "750" ++ } ++ ], ++ "members": [ ++ { ++ "name": "transport", ++ "type": "748" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "637", ++ "members": [ ++ { ++ "name": "abort" ++ }, ++ { ++ "name": "block-dirty-bitmap-add" ++ }, ++ { ++ "name": "block-dirty-bitmap-remove" ++ }, ++ { ++ "name": "block-dirty-bitmap-clear" ++ }, ++ { ++ "name": "block-dirty-bitmap-enable" ++ }, ++ { ++ "name": "block-dirty-bitmap-disable" ++ }, ++ { ++ "name": "block-dirty-bitmap-merge" ++ }, ++ { ++ "name": "blockdev-backup" ++ }, ++ { ++ "name": "blockdev-snapshot" ++ }, ++ { ++ "name": "blockdev-snapshot-internal-sync" ++ }, ++ { ++ "name": "blockdev-snapshot-sync" ++ }, ++ { ++ "name": "drive-backup", ++ "features": [ ++ "deprecated" ++ ] ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "abort", ++ "block-dirty-bitmap-add", ++ "block-dirty-bitmap-remove", ++ "block-dirty-bitmap-clear", ++ "block-dirty-bitmap-enable", ++ "block-dirty-bitmap-disable", ++ "block-dirty-bitmap-merge", ++ "blockdev-backup", ++ "blockdev-snapshot", ++ "blockdev-snapshot-internal-sync", ++ "blockdev-snapshot-sync", ++ "drive-backup" ++ ] ++ }, ++ { ++ "name": "638", ++ "members": [ ++ { ++ "name": "data", ++ "type": "751" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "639", ++ "members": [ ++ { ++ "name": "data", ++ "type": "44" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "640", ++ "members": [ ++ { ++ "name": "data", ++ "type": "45" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "641", ++ "members": [ ++ { ++ "name": "data", ++ "type": "46" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "642", ++ "members": [ ++ { ++ "name": "data", ++ "type": "39" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "643", ++ "members": [ ++ { ++ "name": "data", ++ "type": "35" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "644", ++ "members": [ ++ { ++ "name": "data", ++ "type": "76" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "645", ++ "members": [ ++ { ++ "name": "data", ++ "type": "34" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "646", ++ "members": [ ++ { ++ "name": "data", ++ "type": "38" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "647", ++ "members": [ ++ { ++ "name": "individual" ++ }, ++ { ++ "name": "grouped" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "individual", ++ "grouped" ++ ] ++ }, ++ { ++ "name": "648", ++ "members": [ ++ { ++ "name": "string" ++ }, ++ { ++ "name": "number" ++ }, ++ { ++ "name": "int" ++ }, ++ { ++ "name": "boolean" ++ }, ++ { ++ "name": "null" ++ }, ++ { ++ "name": "object" ++ }, ++ { ++ "name": "array" ++ }, ++ { ++ "name": "value" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "string", ++ "number", ++ "int", ++ "boolean", ++ "null", ++ "object", ++ "array", ++ "value" ++ ] ++ }, ++ { ++ "name": "[649]", ++ "element-type": "649", ++ "meta-type": "array" ++ }, ++ { ++ "name": "649", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "features", ++ "default": null, ++ "type": "[str]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[650]", ++ "element-type": "650", ++ "meta-type": "array" ++ }, ++ { ++ "name": "650", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "type", ++ "type": "str" ++ }, ++ { ++ "name": "default", ++ "default": null, ++ "type": "any" ++ }, ++ { ++ "name": "features", ++ "default": null, ++ "type": "[str]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[651]", ++ "element-type": "651", ++ "meta-type": "array" ++ }, ++ { ++ "name": "651", ++ "members": [ ++ { ++ "name": "case", ++ "type": "str" ++ }, ++ { ++ "name": "type", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[652]", ++ "element-type": "652", ++ "meta-type": "array" ++ }, ++ { ++ "name": "652", ++ "members": [ ++ { ++ "name": "type", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "653", ++ "members": [ ++ { ++ "name": "deny" ++ }, ++ { ++ "name": "allow" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "deny", ++ "allow" ++ ] ++ }, ++ { ++ "name": "[654]", ++ "element-type": "654", ++ "meta-type": "array" ++ }, ++ { ++ "name": "654", ++ "members": [ ++ { ++ "name": "match", ++ "type": "str" ++ }, ++ { ++ "name": "policy", ++ "type": "653" ++ }, ++ { ++ "name": "format", ++ "default": null, ++ "type": "752" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "655", ++ "members": [ ++ { ++ "name": "all" ++ }, ++ { ++ "name": "rx" ++ }, ++ { ++ "name": "tx" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "all", ++ "rx", ++ "tx" ++ ] ++ }, ++ { ++ "name": "656", ++ "members": [ ++ { ++ "name": "before" ++ }, ++ { ++ "name": "behind" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "before", ++ "behind" ++ ] ++ }, ++ { ++ "name": "657", ++ "members": [ ++ { ++ "name": "ctrl-ctrl" ++ }, ++ { ++ "name": "alt-alt" ++ }, ++ { ++ "name": "shift-shift" ++ }, ++ { ++ "name": "meta-meta" ++ }, ++ { ++ "name": "scrolllock" ++ }, ++ { ++ "name": "ctrl-scrolllock" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "ctrl-ctrl", ++ "alt-alt", ++ "shift-shift", ++ "meta-meta", ++ "scrolllock", ++ "ctrl-scrolllock" ++ ] ++ }, ++ { ++ "name": "658", ++ "members": [ ++ { ++ "name": "raw" ++ }, ++ { ++ "name": "base64" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "raw", ++ "base64" ++ ] ++ }, ++ { ++ "name": "659", ++ "members": [ ++ { ++ "name": "iops-total", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "iops-total-max", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "iops-total-max-length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "iops-read", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "iops-read-max", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "iops-read-max-length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "iops-write", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "iops-write-max", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "iops-write-max-length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "bps-total", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "bps-total-max", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "bps-total-max-length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "bps-read", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "bps-read-max", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "bps-read-max-length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "bps-write", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "bps-write-max", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "bps-write-max-length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "iops-size", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "660", ++ "members": [ ++ { ++ "name": "client" ++ }, ++ { ++ "name": "server" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "client", ++ "server" ++ ] ++ }, ++ { ++ "name": "661", ++ "members": [ ++ { ++ "name": "uninitialized" ++ }, ++ { ++ "name": "stopped" ++ }, ++ { ++ "name": "check-stop" ++ }, ++ { ++ "name": "operating" ++ }, ++ { ++ "name": "load" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "uninitialized", ++ "stopped", ++ "check-stop", ++ "operating", ++ "load" ++ ] ++ }, ++ { ++ "name": "662", ++ "members": [ ++ { ++ "name": "memory" ++ }, ++ { ++ "name": "first-level" ++ }, ++ { ++ "name": "second-level" ++ }, ++ { ++ "name": "third-level" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "memory", ++ "first-level", ++ "second-level", ++ "third-level" ++ ] ++ }, ++ { ++ "name": "663", ++ "members": [ ++ { ++ "name": "access-latency" ++ }, ++ { ++ "name": "read-latency" ++ }, ++ { ++ "name": "write-latency" ++ }, ++ { ++ "name": "access-bandwidth" ++ }, ++ { ++ "name": "read-bandwidth" ++ }, ++ { ++ "name": "write-bandwidth" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "access-latency", ++ "read-latency", ++ "write-latency", ++ "access-bandwidth", ++ "read-bandwidth", ++ "write-bandwidth" ++ ] ++ }, ++ { ++ "name": "664", ++ "members": [ ++ { ++ "name": "none" ++ }, ++ { ++ "name": "direct" ++ }, ++ { ++ "name": "complex" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "none", ++ "direct", ++ "complex" ++ ] ++ }, ++ { ++ "name": "665", ++ "members": [ ++ { ++ "name": "none" ++ }, ++ { ++ "name": "write-back" ++ }, ++ { ++ "name": "write-through" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "none", ++ "write-back", ++ "write-through" ++ ] ++ }, ++ { ++ "name": "666", ++ "members": [ ++ { ++ "name": "id", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "addr", ++ "type": "int" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "slot", ++ "type": "int" ++ }, ++ { ++ "name": "node", ++ "type": "int" ++ }, ++ { ++ "name": "memdev", ++ "type": "str" ++ }, ++ { ++ "name": "hotplugged", ++ "type": "bool" ++ }, ++ { ++ "name": "hotpluggable", ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "667", ++ "members": [ ++ { ++ "name": "id", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "memaddr", ++ "type": "int" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "memdev", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "668", ++ "members": [ ++ { ++ "name": "id", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "memaddr", ++ "type": "int" ++ }, ++ { ++ "name": "requested-size", ++ "type": "int" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "max-size", ++ "type": "int" ++ }, ++ { ++ "name": "block-size", ++ "type": "int" ++ }, ++ { ++ "name": "node", ++ "type": "int" ++ }, ++ { ++ "name": "memdev", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "669", ++ "members": [ ++ { ++ "name": "id", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "memaddr", ++ "type": "int" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "node", ++ "type": "int" ++ }, ++ { ++ "name": "memdev", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "670", ++ "members": [ ++ { ++ "name": "id", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "memaddr", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "max-size", ++ "type": "int" ++ }, ++ { ++ "name": "memdev", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "671", ++ "members": [ ++ { ++ "name": "string" ++ }, ++ { ++ "name": "boolean" ++ }, ++ { ++ "name": "number" ++ }, ++ { ++ "name": "size" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "string", ++ "boolean", ++ "number", ++ "size" ++ ] ++ }, ++ { ++ "name": "672", ++ "members": [ ++ { ++ "name": "mixing-engine", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "fixed-settings", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "frequency", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "channels", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "voices", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "format", ++ "default": null, ++ "type": "753" ++ }, ++ { ++ "name": "buffer-length", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "673", ++ "members": [ ++ { ++ "name": "mixing-engine", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "fixed-settings", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "frequency", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "channels", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "voices", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "format", ++ "default": null, ++ "type": "753" ++ }, ++ { ++ "name": "buffer-length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "dev", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "period-length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "try-poll", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "674", ++ "members": [ ++ { ++ "name": "mixing-engine", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "fixed-settings", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "frequency", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "channels", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "voices", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "format", ++ "default": null, ++ "type": "753" ++ }, ++ { ++ "name": "buffer-length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "buffer-count", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "675", ++ "members": [ ++ { ++ "name": "mixing-engine", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "fixed-settings", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "frequency", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "channels", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "voices", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "format", ++ "default": null, ++ "type": "753" ++ }, ++ { ++ "name": "buffer-length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "server-name", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "client-name", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "connect-ports", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "start-server", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "exact-name", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "676", ++ "members": [ ++ { ++ "name": "mixing-engine", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "fixed-settings", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "frequency", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "channels", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "voices", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "format", ++ "default": null, ++ "type": "753" ++ }, ++ { ++ "name": "buffer-length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "dev", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "buffer-count", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "try-poll", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "677", ++ "members": [ ++ { ++ "name": "mixing-engine", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "fixed-settings", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "frequency", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "channels", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "voices", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "format", ++ "default": null, ++ "type": "753" ++ }, ++ { ++ "name": "buffer-length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "name", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "stream-name", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "latency", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "678", ++ "members": [ ++ { ++ "name": "mixing-engine", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "fixed-settings", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "frequency", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "channels", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "voices", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "format", ++ "default": null, ++ "type": "753" ++ }, ++ { ++ "name": "buffer-length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "name", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "stream-name", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "latency", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "679", ++ "members": [ ++ { ++ "name": "mixing-engine", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "fixed-settings", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "frequency", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "channels", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "voices", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "format", ++ "default": null, ++ "type": "753" ++ }, ++ { ++ "name": "buffer-length", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "buffer-count", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "680", ++ "members": [ ++ { ++ "name": "desc", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "class", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "681", ++ "members": [ ++ { ++ "name": "device", ++ "type": "int" ++ }, ++ { ++ "name": "vendor", ++ "type": "int" ++ }, ++ { ++ "name": "subsystem", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "subsystem-vendor", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "682", ++ "members": [ ++ { ++ "name": "bus", ++ "type": "754" ++ }, ++ { ++ "name": "devices", ++ "default": null, ++ "type": "[535]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[683]", ++ "element-type": "683", ++ "meta-type": "array" ++ }, ++ { ++ "name": "683", ++ "members": [ ++ { ++ "name": "bar", ++ "type": "int" ++ }, ++ { ++ "name": "type", ++ "type": "str" ++ }, ++ { ++ "name": "address", ++ "type": "int" ++ }, ++ { ++ "name": "size", ++ "type": "int" ++ }, ++ { ++ "name": "prefetch", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "mem_type_64", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "684", ++ "members": [ ++ { ++ "type": "int" ++ }, ++ { ++ "type": "bool" ++ }, ++ { ++ "type": "[int]" ++ } ++ ], ++ "meta-type": "alternate" ++ }, ++ { ++ "name": "685", ++ "members": [ ++ { ++ "name": "cumulative" ++ }, ++ { ++ "name": "instant" ++ }, ++ { ++ "name": "peak" ++ }, ++ { ++ "name": "linear-histogram" ++ }, ++ { ++ "name": "log2-histogram" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "cumulative", ++ "instant", ++ "peak", ++ "linear-histogram", ++ "log2-histogram" ++ ] ++ }, ++ { ++ "name": "686", ++ "members": [ ++ { ++ "name": "bytes" ++ }, ++ { ++ "name": "seconds" ++ }, ++ { ++ "name": "cycles" ++ }, ++ { ++ "name": "boolean" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "bytes", ++ "seconds", ++ "cycles", ++ "boolean" ++ ] ++ }, ++ { ++ "name": "687", ++ "members": [ ++ { ++ "name": "protocols", ++ "type": "[str]" ++ }, ++ { ++ "name": "unknown-protocols", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "688", ++ "members": [ ++ { ++ "name": "builtin" ++ }, ++ { ++ "name": "vhost-user" ++ }, ++ { ++ "name": "lkcf" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "builtin", ++ "vhost-user", ++ "lkcf" ++ ] ++ }, ++ { ++ "name": "689", ++ "members": [ ++ { ++ "name": "cache-data-parity" ++ }, ++ { ++ "name": "cache-address-parity" ++ }, ++ { ++ "name": "cache-be-parity" ++ }, ++ { ++ "name": "cache-data-ecc" ++ }, ++ { ++ "name": "mem-data-parity" ++ }, ++ { ++ "name": "mem-address-parity" ++ }, ++ { ++ "name": "mem-be-parity" ++ }, ++ { ++ "name": "mem-data-ecc" ++ }, ++ { ++ "name": "reinit-threshold" ++ }, ++ { ++ "name": "rsvd-encoding" ++ }, ++ { ++ "name": "poison-received" ++ }, ++ { ++ "name": "receiver-overflow" ++ }, ++ { ++ "name": "internal" ++ }, ++ { ++ "name": "cxl-ide-tx" ++ }, ++ { ++ "name": "cxl-ide-rx" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "cache-data-parity", ++ "cache-address-parity", ++ "cache-be-parity", ++ "cache-data-ecc", ++ "mem-data-parity", ++ "mem-address-parity", ++ "mem-be-parity", ++ "mem-data-ecc", ++ "reinit-threshold", ++ "rsvd-encoding", ++ "poison-received", ++ "receiver-overflow", ++ "internal", ++ "cxl-ide-tx", ++ "cxl-ide-rx" ++ ] ++ }, ++ { ++ "name": "690", ++ "members": [ ++ { ++ "name": "unknown" ++ }, ++ { ++ "name": "disabled-wait" ++ }, ++ { ++ "name": "extint-loop" ++ }, ++ { ++ "name": "pgmint-loop" ++ }, ++ { ++ "name": "opint-loop" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "unknown", ++ "disabled-wait", ++ "extint-loop", ++ "pgmint-loop", ++ "opint-loop" ++ ] ++ }, ++ { ++ "name": "691", ++ "members": [ ++ { ++ "name": "qcow2" ++ }, ++ { ++ "name": "vmdk" ++ }, ++ { ++ "name": "luks" ++ }, ++ { ++ "name": "rbd" ++ }, ++ { ++ "name": "file" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "qcow2", ++ "vmdk", ++ "luks", ++ "rbd", ++ "file" ++ ] ++ }, ++ { ++ "name": "692", ++ "members": [ ++ { ++ "name": "data", ++ "type": "755" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "693", ++ "members": [ ++ { ++ "name": "data", ++ "type": "756" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "694", ++ "members": [ ++ { ++ "name": "data", ++ "type": "757" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "695", ++ "members": [ ++ { ++ "name": "data", ++ "type": "758" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "696", ++ "members": [ ++ { ++ "name": "data", ++ "type": "759" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "697", ++ "members": [ ++ { ++ "name": "l1_update" ++ }, ++ { ++ "name": "l1_grow_alloc_table" ++ }, ++ { ++ "name": "l1_grow_write_table" ++ }, ++ { ++ "name": "l1_grow_activate_table" ++ }, ++ { ++ "name": "l2_load" ++ }, ++ { ++ "name": "l2_update" ++ }, ++ { ++ "name": "l2_update_compressed" ++ }, ++ { ++ "name": "l2_alloc_cow_read" ++ }, ++ { ++ "name": "l2_alloc_write" ++ }, ++ { ++ "name": "read_aio" ++ }, ++ { ++ "name": "read_backing_aio" ++ }, ++ { ++ "name": "read_compressed" ++ }, ++ { ++ "name": "write_aio" ++ }, ++ { ++ "name": "write_compressed" ++ }, ++ { ++ "name": "vmstate_load" ++ }, ++ { ++ "name": "vmstate_save" ++ }, ++ { ++ "name": "cow_read" ++ }, ++ { ++ "name": "cow_write" ++ }, ++ { ++ "name": "reftable_load" ++ }, ++ { ++ "name": "reftable_grow" ++ }, ++ { ++ "name": "reftable_update" ++ }, ++ { ++ "name": "refblock_load" ++ }, ++ { ++ "name": "refblock_update" ++ }, ++ { ++ "name": "refblock_update_part" ++ }, ++ { ++ "name": "refblock_alloc" ++ }, ++ { ++ "name": "refblock_alloc_hookup" ++ }, ++ { ++ "name": "refblock_alloc_write" ++ }, ++ { ++ "name": "refblock_alloc_write_blocks" ++ }, ++ { ++ "name": "refblock_alloc_write_table" ++ }, ++ { ++ "name": "refblock_alloc_switch_table" ++ }, ++ { ++ "name": "cluster_alloc" ++ }, ++ { ++ "name": "cluster_alloc_bytes" ++ }, ++ { ++ "name": "cluster_free" ++ }, ++ { ++ "name": "flush_to_os" ++ }, ++ { ++ "name": "flush_to_disk" ++ }, ++ { ++ "name": "pwritev_rmw_head" ++ }, ++ { ++ "name": "pwritev_rmw_after_head" ++ }, ++ { ++ "name": "pwritev_rmw_tail" ++ }, ++ { ++ "name": "pwritev_rmw_after_tail" ++ }, ++ { ++ "name": "pwritev" ++ }, ++ { ++ "name": "pwritev_zero" ++ }, ++ { ++ "name": "pwritev_done" ++ }, ++ { ++ "name": "empty_image_prepare" ++ }, ++ { ++ "name": "l1_shrink_write_table" ++ }, ++ { ++ "name": "l1_shrink_free_l2_clusters" ++ }, ++ { ++ "name": "cor_write" ++ }, ++ { ++ "name": "cluster_alloc_space" ++ }, ++ { ++ "name": "none" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "l1_update", ++ "l1_grow_alloc_table", ++ "l1_grow_write_table", ++ "l1_grow_activate_table", ++ "l2_load", ++ "l2_update", ++ "l2_update_compressed", ++ "l2_alloc_cow_read", ++ "l2_alloc_write", ++ "read_aio", ++ "read_backing_aio", ++ "read_compressed", ++ "write_aio", ++ "write_compressed", ++ "vmstate_load", ++ "vmstate_save", ++ "cow_read", ++ "cow_write", ++ "reftable_load", ++ "reftable_grow", ++ "reftable_update", ++ "refblock_load", ++ "refblock_update", ++ "refblock_update_part", ++ "refblock_alloc", ++ "refblock_alloc_hookup", ++ "refblock_alloc_write", ++ "refblock_alloc_write_blocks", ++ "refblock_alloc_write_table", ++ "refblock_alloc_switch_table", ++ "cluster_alloc", ++ "cluster_alloc_bytes", ++ "cluster_free", ++ "flush_to_os", ++ "flush_to_disk", ++ "pwritev_rmw_head", ++ "pwritev_rmw_after_head", ++ "pwritev_rmw_tail", ++ "pwritev_rmw_after_tail", ++ "pwritev", ++ "pwritev_zero", ++ "pwritev_done", ++ "empty_image_prepare", ++ "l1_shrink_write_table", ++ "l1_shrink_free_l2_clusters", ++ "cor_write", ++ "cluster_alloc_space", ++ "none" ++ ] ++ }, ++ { ++ "name": "698", ++ "members": [ ++ { ++ "name": "read" ++ }, ++ { ++ "name": "write" ++ }, ++ { ++ "name": "write-zeroes" ++ }, ++ { ++ "name": "discard" ++ }, ++ { ++ "name": "flush" ++ }, ++ { ++ "name": "block-status" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "read", ++ "write", ++ "write-zeroes", ++ "discard", ++ "flush", ++ "block-status" ++ ] ++ }, ++ { ++ "name": "699", ++ "members": [ ++ { ++ "name": "inet" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "inet" ++ ] ++ }, ++ { ++ "name": "700", ++ "members": [ ++ { ++ "name": "template", ++ "default": null, ++ "type": "701" ++ }, ++ { ++ "name": "main-header", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "active-l1", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "active-l2", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "refcount-table", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "refcount-block", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "snapshot-table", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "inactive-l1", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "inactive-l2", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "bitmap-directory", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "701", ++ "members": [ ++ { ++ "name": "none" ++ }, ++ { ++ "name": "constant" ++ }, ++ { ++ "name": "cached" ++ }, ++ { ++ "name": "all" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "none", ++ "constant", ++ "cached", ++ "all" ++ ] ++ }, ++ { ++ "name": "702", ++ "members": [ ++ { ++ "name": "aes" ++ }, ++ { ++ "name": "luks" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "aes", ++ "luks" ++ ] ++ }, ++ { ++ "name": "703", ++ "members": [ ++ { ++ "name": "key-secret", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "704", ++ "members": [ ++ { ++ "name": "key-secret", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "705", ++ "members": [ ++ { ++ "name": "aes" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "aes" ++ ] ++ }, ++ { ++ "name": "706", ++ "members": [ ++ { ++ "name": "luks" ++ }, ++ { ++ "name": "luks2" ++ }, ++ { ++ "name": "luks-any" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "luks", ++ "luks2", ++ "luks-any" ++ ] ++ }, ++ { ++ "name": "707", ++ "members": [ ++ { ++ "name": "key-secret", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "708", ++ "members": [ ++ { ++ "name": "key-secret", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "709", ++ "members": [ ++ { ++ "name": "key-secret", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "710", ++ "members": [ ++ { ++ "name": "none" ++ }, ++ { ++ "name": "hash" ++ }, ++ { ++ "name": "known_hosts" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "none", ++ "hash", ++ "known_hosts" ++ ] ++ }, ++ { ++ "name": "711", ++ "members": [ ++ { ++ "name": "type", ++ "type": "760" ++ }, ++ { ++ "name": "hash", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "712", ++ "members": [ ++ { ++ "name": "off" ++ }, ++ { ++ "name": "metadata" ++ }, ++ { ++ "name": "falloc" ++ }, ++ { ++ "name": "full" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "off", ++ "metadata", ++ "falloc", ++ "full" ++ ] ++ }, ++ { ++ "name": "713", ++ "members": [ ++ { ++ "name": "aes-128" ++ }, ++ { ++ "name": "aes-192" ++ }, ++ { ++ "name": "aes-256" ++ }, ++ { ++ "name": "des" ++ }, ++ { ++ "name": "3des" ++ }, ++ { ++ "name": "cast5-128" ++ }, ++ { ++ "name": "serpent-128" ++ }, ++ { ++ "name": "serpent-192" ++ }, ++ { ++ "name": "serpent-256" ++ }, ++ { ++ "name": "twofish-128" ++ }, ++ { ++ "name": "twofish-192" ++ }, ++ { ++ "name": "twofish-256" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "aes-128", ++ "aes-192", ++ "aes-256", ++ "des", ++ "3des", ++ "cast5-128", ++ "serpent-128", ++ "serpent-192", ++ "serpent-256", ++ "twofish-128", ++ "twofish-192", ++ "twofish-256" ++ ] ++ }, ++ { ++ "name": "714", ++ "members": [ ++ { ++ "name": "ecb" ++ }, ++ { ++ "name": "cbc" ++ }, ++ { ++ "name": "xts" ++ }, ++ { ++ "name": "ctr" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "ecb", ++ "cbc", ++ "xts", ++ "ctr" ++ ] ++ }, ++ { ++ "name": "715", ++ "members": [ ++ { ++ "name": "plain" ++ }, ++ { ++ "name": "plain64" ++ }, ++ { ++ "name": "essiv" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "plain", ++ "plain64", ++ "essiv" ++ ] ++ }, ++ { ++ "name": "716", ++ "members": [ ++ { ++ "name": "md5" ++ }, ++ { ++ "name": "sha1" ++ }, ++ { ++ "name": "sha224" ++ }, ++ { ++ "name": "sha256" ++ }, ++ { ++ "name": "sha384" ++ }, ++ { ++ "name": "sha512" ++ }, ++ { ++ "name": "ripemd160" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "md5", ++ "sha1", ++ "sha224", ++ "sha256", ++ "sha384", ++ "sha512", ++ "ripemd160" ++ ] ++ }, ++ { ++ "name": "717", ++ "tag": "format", ++ "variants": [ ++ { ++ "case": "qcow", ++ "type": "703" ++ }, ++ { ++ "case": "luks", ++ "type": "762" ++ } ++ ], ++ "members": [ ++ { ++ "name": "format", ++ "type": "761" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "718", ++ "members": [ ++ { ++ "name": "v2" ++ }, ++ { ++ "name": "v3" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "v2", ++ "v3" ++ ] ++ }, ++ { ++ "name": "719", ++ "members": [ ++ { ++ "name": "zlib" ++ }, ++ { ++ "name": "zstd" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "zlib", ++ "zstd" ++ ] ++ }, ++ { ++ "name": "720", ++ "tag": "format", ++ "variants": [ ++ { ++ "case": "luks", ++ "type": "763" ++ }, ++ { ++ "case": "luks2", ++ "type": "764" ++ }, ++ { ++ "case": "luks-any", ++ "type": "0" ++ } ++ ], ++ "members": [ ++ { ++ "name": "format", ++ "type": "706" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "721", ++ "members": [ ++ { ++ "name": "dynamic" ++ }, ++ { ++ "name": "fixed" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "dynamic", ++ "fixed" ++ ] ++ }, ++ { ++ "name": "722", ++ "members": [ ++ { ++ "name": "monolithicSparse" ++ }, ++ { ++ "name": "monolithicFlat" ++ }, ++ { ++ "name": "twoGbMaxExtentSparse" ++ }, ++ { ++ "name": "twoGbMaxExtentFlat" ++ }, ++ { ++ "name": "streamOptimized" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "monolithicSparse", ++ "monolithicFlat", ++ "twoGbMaxExtentSparse", ++ "twoGbMaxExtentFlat", ++ "streamOptimized" ++ ] ++ }, ++ { ++ "name": "723", ++ "members": [ ++ { ++ "name": "ide" ++ }, ++ { ++ "name": "buslogic" ++ }, ++ { ++ "name": "lsilogic" ++ }, ++ { ++ "name": "legacyESX" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "ide", ++ "buslogic", ++ "lsilogic", ++ "legacyESX" ++ ] ++ }, ++ { ++ "name": "724", ++ "members": [ ++ { ++ "name": "dynamic" ++ }, ++ { ++ "name": "fixed" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "dynamic", ++ "fixed" ++ ] ++ }, ++ { ++ "name": "725", ++ "members": [ ++ { ++ "name": "active" ++ }, ++ { ++ "name": "inactive" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "active", ++ "inactive" ++ ] ++ }, ++ { ++ "name": "726", ++ "tag": "format", ++ "variants": [ ++ { ++ "case": "luks", ++ "type": "765" ++ }, ++ { ++ "case": "qcow", ++ "type": "0" ++ } ++ ], ++ "members": [ ++ { ++ "name": "format", ++ "type": "761" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "727", ++ "members": [ ++ { ++ "name": "logfile", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "logappend", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "in", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "out", ++ "type": "str" ++ }, ++ { ++ "name": "append", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "728", ++ "members": [ ++ { ++ "name": "logfile", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "logappend", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "device", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "729", ++ "members": [ ++ { ++ "name": "logfile", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "logappend", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "addr", ++ "type": "356" ++ }, ++ { ++ "name": "tls-creds", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "tls-authz", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "server", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "wait", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "nodelay", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "telnet", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "tn3270", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "websocket", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "reconnect", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "730", ++ "members": [ ++ { ++ "name": "logfile", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "logappend", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "remote", ++ "type": "356" ++ }, ++ { ++ "name": "local", ++ "default": null, ++ "type": "356" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "731", ++ "members": [ ++ { ++ "name": "logfile", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "logappend", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "732", ++ "members": [ ++ { ++ "name": "logfile", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "logappend", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "chardev", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "733", ++ "members": [ ++ { ++ "name": "logfile", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "logappend", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "signal", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "734", ++ "members": [ ++ { ++ "name": "logfile", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "logappend", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "type", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "735", ++ "members": [ ++ { ++ "name": "logfile", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "logappend", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "fqdn", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "736", ++ "members": [ ++ { ++ "name": "logfile", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "logappend", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "mouse", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "clipboard", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "737", ++ "members": [ ++ { ++ "name": "logfile", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "logappend", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "name", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "738", ++ "members": [ ++ { ++ "name": "logfile", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "logappend", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "width", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "height", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "cols", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "rows", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "739", ++ "members": [ ++ { ++ "name": "logfile", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "logappend", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "size", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "740", ++ "members": [ ++ { ++ "name": "path", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "cancel-path", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "741", ++ "members": [ ++ { ++ "name": "chardev", ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "742", ++ "members": [ ++ { ++ "name": "unmapped" ++ }, ++ { ++ "name": "shift" ++ }, ++ { ++ "name": "shift_r" ++ }, ++ { ++ "name": "alt" ++ }, ++ { ++ "name": "alt_r" ++ }, ++ { ++ "name": "ctrl" ++ }, ++ { ++ "name": "ctrl_r" ++ }, ++ { ++ "name": "menu" ++ }, ++ { ++ "name": "esc" ++ }, ++ { ++ "name": "1" ++ }, ++ { ++ "name": "2" ++ }, ++ { ++ "name": "3" ++ }, ++ { ++ "name": "4" ++ }, ++ { ++ "name": "5" ++ }, ++ { ++ "name": "6" ++ }, ++ { ++ "name": "7" ++ }, ++ { ++ "name": "8" ++ }, ++ { ++ "name": "9" ++ }, ++ { ++ "name": "0" ++ }, ++ { ++ "name": "minus" ++ }, ++ { ++ "name": "equal" ++ }, ++ { ++ "name": "backspace" ++ }, ++ { ++ "name": "tab" ++ }, ++ { ++ "name": "q" ++ }, ++ { ++ "name": "w" ++ }, ++ { ++ "name": "e" ++ }, ++ { ++ "name": "r" ++ }, ++ { ++ "name": "t" ++ }, ++ { ++ "name": "y" ++ }, ++ { ++ "name": "u" ++ }, ++ { ++ "name": "i" ++ }, ++ { ++ "name": "o" ++ }, ++ { ++ "name": "p" ++ }, ++ { ++ "name": "bracket_left" ++ }, ++ { ++ "name": "bracket_right" ++ }, ++ { ++ "name": "ret" ++ }, ++ { ++ "name": "a" ++ }, ++ { ++ "name": "s" ++ }, ++ { ++ "name": "d" ++ }, ++ { ++ "name": "f" ++ }, ++ { ++ "name": "g" ++ }, ++ { ++ "name": "h" ++ }, ++ { ++ "name": "j" ++ }, ++ { ++ "name": "k" ++ }, ++ { ++ "name": "l" ++ }, ++ { ++ "name": "semicolon" ++ }, ++ { ++ "name": "apostrophe" ++ }, ++ { ++ "name": "grave_accent" ++ }, ++ { ++ "name": "backslash" ++ }, ++ { ++ "name": "z" ++ }, ++ { ++ "name": "x" ++ }, ++ { ++ "name": "c" ++ }, ++ { ++ "name": "v" ++ }, ++ { ++ "name": "b" ++ }, ++ { ++ "name": "n" ++ }, ++ { ++ "name": "m" ++ }, ++ { ++ "name": "comma" ++ }, ++ { ++ "name": "dot" ++ }, ++ { ++ "name": "slash" ++ }, ++ { ++ "name": "asterisk" ++ }, ++ { ++ "name": "spc" ++ }, ++ { ++ "name": "caps_lock" ++ }, ++ { ++ "name": "f1" ++ }, ++ { ++ "name": "f2" ++ }, ++ { ++ "name": "f3" ++ }, ++ { ++ "name": "f4" ++ }, ++ { ++ "name": "f5" ++ }, ++ { ++ "name": "f6" ++ }, ++ { ++ "name": "f7" ++ }, ++ { ++ "name": "f8" ++ }, ++ { ++ "name": "f9" ++ }, ++ { ++ "name": "f10" ++ }, ++ { ++ "name": "num_lock" ++ }, ++ { ++ "name": "scroll_lock" ++ }, ++ { ++ "name": "kp_divide" ++ }, ++ { ++ "name": "kp_multiply" ++ }, ++ { ++ "name": "kp_subtract" ++ }, ++ { ++ "name": "kp_add" ++ }, ++ { ++ "name": "kp_enter" ++ }, ++ { ++ "name": "kp_decimal" ++ }, ++ { ++ "name": "sysrq" ++ }, ++ { ++ "name": "kp_0" ++ }, ++ { ++ "name": "kp_1" ++ }, ++ { ++ "name": "kp_2" ++ }, ++ { ++ "name": "kp_3" ++ }, ++ { ++ "name": "kp_4" ++ }, ++ { ++ "name": "kp_5" ++ }, ++ { ++ "name": "kp_6" ++ }, ++ { ++ "name": "kp_7" ++ }, ++ { ++ "name": "kp_8" ++ }, ++ { ++ "name": "kp_9" ++ }, ++ { ++ "name": "less" ++ }, ++ { ++ "name": "f11" ++ }, ++ { ++ "name": "f12" ++ }, ++ { ++ "name": "print" ++ }, ++ { ++ "name": "home" ++ }, ++ { ++ "name": "pgup" ++ }, ++ { ++ "name": "pgdn" ++ }, ++ { ++ "name": "end" ++ }, ++ { ++ "name": "left" ++ }, ++ { ++ "name": "up" ++ }, ++ { ++ "name": "down" ++ }, ++ { ++ "name": "right" ++ }, ++ { ++ "name": "insert" ++ }, ++ { ++ "name": "delete" ++ }, ++ { ++ "name": "stop" ++ }, ++ { ++ "name": "again" ++ }, ++ { ++ "name": "props" ++ }, ++ { ++ "name": "undo" ++ }, ++ { ++ "name": "front" ++ }, ++ { ++ "name": "copy" ++ }, ++ { ++ "name": "open" ++ }, ++ { ++ "name": "paste" ++ }, ++ { ++ "name": "find" ++ }, ++ { ++ "name": "cut" ++ }, ++ { ++ "name": "lf" ++ }, ++ { ++ "name": "help" ++ }, ++ { ++ "name": "meta_l" ++ }, ++ { ++ "name": "meta_r" ++ }, ++ { ++ "name": "compose" ++ }, ++ { ++ "name": "pause" ++ }, ++ { ++ "name": "ro" ++ }, ++ { ++ "name": "hiragana" ++ }, ++ { ++ "name": "henkan" ++ }, ++ { ++ "name": "yen" ++ }, ++ { ++ "name": "muhenkan" ++ }, ++ { ++ "name": "katakanahiragana" ++ }, ++ { ++ "name": "kp_comma" ++ }, ++ { ++ "name": "kp_equals" ++ }, ++ { ++ "name": "power" ++ }, ++ { ++ "name": "sleep" ++ }, ++ { ++ "name": "wake" ++ }, ++ { ++ "name": "audionext" ++ }, ++ { ++ "name": "audioprev" ++ }, ++ { ++ "name": "audiostop" ++ }, ++ { ++ "name": "audioplay" ++ }, ++ { ++ "name": "audiomute" ++ }, ++ { ++ "name": "volumeup" ++ }, ++ { ++ "name": "volumedown" ++ }, ++ { ++ "name": "mediaselect" ++ }, ++ { ++ "name": "mail" ++ }, ++ { ++ "name": "calculator" ++ }, ++ { ++ "name": "computer" ++ }, ++ { ++ "name": "ac_home" ++ }, ++ { ++ "name": "ac_back" ++ }, ++ { ++ "name": "ac_forward" ++ }, ++ { ++ "name": "ac_refresh" ++ }, ++ { ++ "name": "ac_bookmarks" ++ }, ++ { ++ "name": "lang1" ++ }, ++ { ++ "name": "lang2" ++ }, ++ { ++ "name": "f13" ++ }, ++ { ++ "name": "f14" ++ }, ++ { ++ "name": "f15" ++ }, ++ { ++ "name": "f16" ++ }, ++ { ++ "name": "f17" ++ }, ++ { ++ "name": "f18" ++ }, ++ { ++ "name": "f19" ++ }, ++ { ++ "name": "f20" ++ }, ++ { ++ "name": "f21" ++ }, ++ { ++ "name": "f22" ++ }, ++ { ++ "name": "f23" ++ }, ++ { ++ "name": "f24" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "unmapped", ++ "shift", ++ "shift_r", ++ "alt", ++ "alt_r", ++ "ctrl", ++ "ctrl_r", ++ "menu", ++ "esc", ++ "1", ++ "2", ++ "3", ++ "4", ++ "5", ++ "6", ++ "7", ++ "8", ++ "9", ++ "0", ++ "minus", ++ "equal", ++ "backspace", ++ "tab", ++ "q", ++ "w", ++ "e", ++ "r", ++ "t", ++ "y", ++ "u", ++ "i", ++ "o", ++ "p", ++ "bracket_left", ++ "bracket_right", ++ "ret", ++ "a", ++ "s", ++ "d", ++ "f", ++ "g", ++ "h", ++ "j", ++ "k", ++ "l", ++ "semicolon", ++ "apostrophe", ++ "grave_accent", ++ "backslash", ++ "z", ++ "x", ++ "c", ++ "v", ++ "b", ++ "n", ++ "m", ++ "comma", ++ "dot", ++ "slash", ++ "asterisk", ++ "spc", ++ "caps_lock", ++ "f1", ++ "f2", ++ "f3", ++ "f4", ++ "f5", ++ "f6", ++ "f7", ++ "f8", ++ "f9", ++ "f10", ++ "num_lock", ++ "scroll_lock", ++ "kp_divide", ++ "kp_multiply", ++ "kp_subtract", ++ "kp_add", ++ "kp_enter", ++ "kp_decimal", ++ "sysrq", ++ "kp_0", ++ "kp_1", ++ "kp_2", ++ "kp_3", ++ "kp_4", ++ "kp_5", ++ "kp_6", ++ "kp_7", ++ "kp_8", ++ "kp_9", ++ "less", ++ "f11", ++ "f12", ++ "print", ++ "home", ++ "pgup", ++ "pgdn", ++ "end", ++ "left", ++ "up", ++ "down", ++ "right", ++ "insert", ++ "delete", ++ "stop", ++ "again", ++ "props", ++ "undo", ++ "front", ++ "copy", ++ "open", ++ "paste", ++ "find", ++ "cut", ++ "lf", ++ "help", ++ "meta_l", ++ "meta_r", ++ "compose", ++ "pause", ++ "ro", ++ "hiragana", ++ "henkan", ++ "yen", ++ "muhenkan", ++ "katakanahiragana", ++ "kp_comma", ++ "kp_equals", ++ "power", ++ "sleep", ++ "wake", ++ "audionext", ++ "audioprev", ++ "audiostop", ++ "audioplay", ++ "audiomute", ++ "volumeup", ++ "volumedown", ++ "mediaselect", ++ "mail", ++ "calculator", ++ "computer", ++ "ac_home", ++ "ac_back", ++ "ac_forward", ++ "ac_refresh", ++ "ac_bookmarks", ++ "lang1", ++ "lang2", ++ "f13", ++ "f14", ++ "f15", ++ "f16", ++ "f17", ++ "f18", ++ "f19", ++ "f20", ++ "f21", ++ "f22", ++ "f23", ++ "f24" ++ ] ++ }, ++ { ++ "name": "743", ++ "members": [ ++ { ++ "name": "key", ++ "type": "409" ++ }, ++ { ++ "name": "down", ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "744", ++ "members": [ ++ { ++ "name": "button", ++ "type": "766" ++ }, ++ { ++ "name": "down", ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "745", ++ "members": [ ++ { ++ "name": "axis", ++ "type": "767" ++ }, ++ { ++ "name": "value", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "746", ++ "members": [ ++ { ++ "name": "type", ++ "type": "768" ++ }, ++ { ++ "name": "slot", ++ "type": "int" ++ }, ++ { ++ "name": "tracking-id", ++ "type": "int" ++ }, ++ { ++ "name": "axis", ++ "type": "767" ++ }, ++ { ++ "name": "value", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "747", ++ "members": [ ++ { ++ "name": "persistent", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "748", ++ "members": [ ++ { ++ "name": "socket" ++ }, ++ { ++ "name": "exec" ++ }, ++ { ++ "name": "rdma" ++ }, ++ { ++ "name": "file" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "socket", ++ "exec", ++ "rdma", ++ "file" ++ ] ++ }, ++ { ++ "name": "749", ++ "members": [ ++ { ++ "name": "args", ++ "type": "[str]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "750", ++ "members": [ ++ { ++ "name": "filename", ++ "type": "str" ++ }, ++ { ++ "name": "offset", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "751", ++ "members": [ ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "752", ++ "members": [ ++ { ++ "name": "exact" ++ }, ++ { ++ "name": "glob" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "exact", ++ "glob" ++ ] ++ }, ++ { ++ "name": "753", ++ "members": [ ++ { ++ "name": "u8" ++ }, ++ { ++ "name": "s8" ++ }, ++ { ++ "name": "u16" ++ }, ++ { ++ "name": "s16" ++ }, ++ { ++ "name": "u32" ++ }, ++ { ++ "name": "s32" ++ }, ++ { ++ "name": "f32" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "u8", ++ "s8", ++ "u16", ++ "s16", ++ "u32", ++ "s32", ++ "f32" ++ ] ++ }, ++ { ++ "name": "754", ++ "members": [ ++ { ++ "name": "number", ++ "type": "int" ++ }, ++ { ++ "name": "secondary", ++ "type": "int" ++ }, ++ { ++ "name": "subordinate", ++ "type": "int" ++ }, ++ { ++ "name": "io_range", ++ "type": "769" ++ }, ++ { ++ "name": "memory_range", ++ "type": "769" ++ }, ++ { ++ "name": "prefetchable_range", ++ "type": "769" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "755", ++ "members": [ ++ { ++ "name": "compat", ++ "type": "str" ++ }, ++ { ++ "name": "data-file", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "data-file-raw", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "extended-l2", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "lazy-refcounts", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "corrupt", ++ "default": null, ++ "type": "bool" ++ }, ++ { ++ "name": "refcount-bits", ++ "type": "int" ++ }, ++ { ++ "name": "encrypt", ++ "default": null, ++ "type": "770" ++ }, ++ { ++ "name": "bitmaps", ++ "default": null, ++ "type": "[771]" ++ }, ++ { ++ "name": "compression-type", ++ "type": "719" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "756", ++ "members": [ ++ { ++ "name": "create-type", ++ "type": "str" ++ }, ++ { ++ "name": "cid", ++ "type": "int" ++ }, ++ { ++ "name": "parent-cid", ++ "type": "int" ++ }, ++ { ++ "name": "extents", ++ "type": "[772]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "757", ++ "members": [ ++ { ++ "name": "cipher-alg", ++ "type": "713" ++ }, ++ { ++ "name": "cipher-mode", ++ "type": "714" ++ }, ++ { ++ "name": "ivgen-alg", ++ "type": "715" ++ }, ++ { ++ "name": "ivgen-hash-alg", ++ "default": null, ++ "type": "716" ++ }, ++ { ++ "name": "hash-alg", ++ "type": "716" ++ }, ++ { ++ "name": "payload-offset", ++ "type": "int" ++ }, ++ { ++ "name": "master-key-iters", ++ "type": "int" ++ }, ++ { ++ "name": "uuid", ++ "type": "str" ++ }, ++ { ++ "name": "slots", ++ "type": "[773]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "758", ++ "members": [ ++ { ++ "name": "encryption-format", ++ "default": null, ++ "type": "706" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "759", ++ "members": [ ++ { ++ "name": "extent-size-hint", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "760", ++ "members": [ ++ { ++ "name": "md5" ++ }, ++ { ++ "name": "sha1" ++ }, ++ { ++ "name": "sha256" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "md5", ++ "sha1", ++ "sha256" ++ ] ++ }, ++ { ++ "name": "761", ++ "members": [ ++ { ++ "name": "qcow" ++ }, ++ { ++ "name": "luks" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "qcow", ++ "luks" ++ ] ++ }, ++ { ++ "name": "762", ++ "members": [ ++ { ++ "name": "key-secret", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "cipher-alg", ++ "default": null, ++ "type": "713" ++ }, ++ { ++ "name": "cipher-mode", ++ "default": null, ++ "type": "714" ++ }, ++ { ++ "name": "ivgen-alg", ++ "default": null, ++ "type": "715" ++ }, ++ { ++ "name": "ivgen-hash-alg", ++ "default": null, ++ "type": "716" ++ }, ++ { ++ "name": "hash-alg", ++ "default": null, ++ "type": "716" ++ }, ++ { ++ "name": "iter-time", ++ "default": null, ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "763", ++ "members": [ ++ { ++ "name": "key-secret", ++ "type": "str" ++ }, ++ { ++ "name": "cipher-alg", ++ "default": null, ++ "type": "713" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "764", ++ "members": [ ++ { ++ "name": "key-secret", ++ "type": "str" ++ }, ++ { ++ "name": "cipher-alg", ++ "default": null, ++ "type": "713" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "765", ++ "members": [ ++ { ++ "name": "state", ++ "type": "725" ++ }, ++ { ++ "name": "new-secret", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "old-secret", ++ "default": null, ++ "type": "str" ++ }, ++ { ++ "name": "keyslot", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "iter-time", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "secret", ++ "default": null, ++ "type": "str" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "766", ++ "members": [ ++ { ++ "name": "left" ++ }, ++ { ++ "name": "middle" ++ }, ++ { ++ "name": "right" ++ }, ++ { ++ "name": "wheel-up" ++ }, ++ { ++ "name": "wheel-down" ++ }, ++ { ++ "name": "side" ++ }, ++ { ++ "name": "extra" ++ }, ++ { ++ "name": "wheel-left" ++ }, ++ { ++ "name": "wheel-right" ++ }, ++ { ++ "name": "touch" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "left", ++ "middle", ++ "right", ++ "wheel-up", ++ "wheel-down", ++ "side", ++ "extra", ++ "wheel-left", ++ "wheel-right", ++ "touch" ++ ] ++ }, ++ { ++ "name": "767", ++ "members": [ ++ { ++ "name": "x" ++ }, ++ { ++ "name": "y" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "x", ++ "y" ++ ] ++ }, ++ { ++ "name": "768", ++ "members": [ ++ { ++ "name": "begin" ++ }, ++ { ++ "name": "update" ++ }, ++ { ++ "name": "end" ++ }, ++ { ++ "name": "cancel" ++ }, ++ { ++ "name": "data" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "begin", ++ "update", ++ "end", ++ "cancel", ++ "data" ++ ] ++ }, ++ { ++ "name": "769", ++ "members": [ ++ { ++ "name": "base", ++ "type": "int" ++ }, ++ { ++ "name": "limit", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "770", ++ "tag": "format", ++ "variants": [ ++ { ++ "case": "luks", ++ "type": "757" ++ }, ++ { ++ "case": "aes", ++ "type": "0" ++ } ++ ], ++ "members": [ ++ { ++ "name": "format", ++ "type": "702" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[771]", ++ "element-type": "771", ++ "meta-type": "array" ++ }, ++ { ++ "name": "771", ++ "members": [ ++ { ++ "name": "name", ++ "type": "str" ++ }, ++ { ++ "name": "granularity", ++ "type": "int" ++ }, ++ { ++ "name": "flags", ++ "type": "[774]" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[772]", ++ "element-type": "772", ++ "meta-type": "array" ++ }, ++ { ++ "name": "772", ++ "members": [ ++ { ++ "name": "filename", ++ "type": "str" ++ }, ++ { ++ "name": "format", ++ "type": "str" ++ }, ++ { ++ "name": "virtual-size", ++ "type": "int" ++ }, ++ { ++ "name": "cluster-size", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "compressed", ++ "default": null, ++ "type": "bool" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[773]", ++ "element-type": "773", ++ "meta-type": "array" ++ }, ++ { ++ "name": "773", ++ "members": [ ++ { ++ "name": "active", ++ "type": "bool" ++ }, ++ { ++ "name": "iters", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "stripes", ++ "default": null, ++ "type": "int" ++ }, ++ { ++ "name": "key-offset", ++ "type": "int" ++ } ++ ], ++ "meta-type": "object" ++ }, ++ { ++ "name": "[774]", ++ "element-type": "774", ++ "meta-type": "array" ++ }, ++ { ++ "name": "774", ++ "members": [ ++ { ++ "name": "in-use" ++ }, ++ { ++ "name": "auto" ++ } ++ ], ++ "meta-type": "enum", ++ "values": [ ++ "in-use", ++ "auto" ++ ] ++ } ++ ], ++ "id": "libvirt-4" ++} ++ ++{ ++ "execute": "query-kvm", ++ "id": "libvirt-5" ++} ++ ++{ ++ "return": { ++ "enabled": true, ++ "present": true ++ }, ++ "id": "libvirt-5" ++} ++ ++{ ++ "execute": "qom-list-types", ++ "id": "libvirt-6" ++} ++ ++{ ++ "return": [ ++ { ++ "name": "ccid-card-passthru", ++ "parent": "ccid-card" ++ }, ++ { ++ "name": "qio-channel-block", ++ "parent": "qio-channel" ++ }, ++ { ++ "name": "i82557b", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "secret_keyring", ++ "parent": "secret_common" ++ }, ++ { ++ "name": "authz-pam", ++ "parent": "authz" ++ }, ++ { ++ "name": "igbvf", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "usb-wacom-tablet", ++ "parent": "usb-device" ++ }, ++ { ++ "name": "i82557a", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "xio3130-downstream", ++ "parent": "pcie-slot" ++ }, ++ { ++ "name": "rocker", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "virtio-serial-pci", ++ "parent": "virtio-serial-pci-base" ++ }, ++ { ++ "name": "loongarch_ipi", ++ "parent": "sys-bus-device" ++ }, ++ { ++ "name": "dc390", ++ "parent": "am53c974" ++ }, ++ { ++ "name": "chardev-vc", ++ "parent": "chardev" ++ }, ++ { ++ "name": "vhost-user-gpio-pci", ++ "parent": "vhost-user-gpio-pci-base" ++ }, ++ { ++ "name": "usb-tablet", ++ "parent": "usb-hid" ++ }, ++ { ++ "name": "virtio-net-pci-transitional", ++ "parent": "virtio-net-pci-base" ++ }, ++ { ++ "name": "vhost-user-blk", ++ "parent": "virtio-device" ++ }, ++ { ++ "name": "intel-hda", ++ "parent": "intel-hda-generic" ++ }, ++ { ++ "name": "SCSI", ++ "parent": "bus" ++ }, ++ { ++ "name": "chardev-pty", ++ "parent": "chardev" ++ }, ++ { ++ "name": "vhost-user-fs-device", ++ "parent": "virtio-device" ++ }, ++ { ++ "name": "vhost-vdpa-device", ++ "parent": "virtio-device" ++ }, ++ { ++ "name": "virtio-multitouch-device", ++ "parent": "virtio-input-hid-device" ++ }, ++ { ++ "name": "virtio-scsi-device", ++ "parent": "virtio-scsi-common" ++ }, ++ { ++ "name": "vhost-user-backend", ++ "parent": "object" ++ }, ++ { ++ "name": "pci-serial", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "acpi-ged", ++ "parent": "sys-bus-device" ++ }, ++ { ++ "name": "filter-mirror", ++ "parent": "netfilter" ++ }, ++ { ++ "name": "vhost-user-input-pci", ++ "parent": "vhost-user-input-pci-base-type" ++ }, ++ { ++ "name": "ioh3420", ++ "parent": "pcie-root-port-base" ++ }, ++ { ++ "name": "virtio-blk-pci-non-transitional", ++ "parent": "virtio-blk-pci-base" ++ }, ++ { ++ "name": "pc-dimm", ++ "parent": "device" ++ }, ++ { ++ "name": "pr-manager-helper", ++ "parent": "pr-manager" ++ }, ++ { ++ "name": "vfio-pci-nohotplug", ++ "parent": "vfio-pci" ++ }, ++ { ++ "name": "tls-creds-psk", ++ "parent": "tls-creds" ++ }, ++ { ++ "name": "e1000-82544gc", ++ "parent": "e1000-base" ++ }, ++ { ++ "name": "sd-card", ++ "parent": "device" ++ }, ++ { ++ "name": "colo-compare", ++ "parent": "object" ++ }, ++ { ++ "name": "chardev-mux", ++ "parent": "chardev" ++ }, ++ { ++ "name": "usb-braille", ++ "parent": "usb-serial-dev" ++ }, ++ { ++ "name": "CXL", ++ "parent": "PCIE" ++ }, ++ { ++ "name": "i82801", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "IndustryPack", ++ "parent": "bus" ++ }, ++ { ++ "name": "vhost-vdpa-device-pci-non-transitional", ++ "parent": "vhost-vdpa-device-pci-base" ++ }, ++ { ++ "name": "vhost-user-rng", ++ "parent": "virtio-device" ++ }, ++ { ++ "name": "vhost-user-vga", ++ "parent": "vhost-user-vga-base-type" ++ }, ++ { ++ "name": "virtio-net-pci", ++ "parent": "virtio-net-pci-base" ++ }, ++ { ++ "name": "qemu-graphic-console", ++ "parent": "qemu-console" ++ }, ++ { ++ "name": "chardev-wctablet", ++ "parent": "chardev" ++ }, ++ { ++ "name": "loongarch_pch_msi", ++ "parent": "sys-bus-device" ++ }, ++ { ++ "name": "virtio-sound-device", ++ "parent": "virtio-device" ++ }, ++ { ++ "name": "virtconsole", ++ "parent": "virtserialport" ++ }, ++ { ++ "name": "i82551", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "virtio-balloon-pci-non-transitional", ++ "parent": "virtio-balloon-pci-base" ++ }, ++ { ++ "name": "qio-channel-tls", ++ "parent": "qio-channel" ++ }, ++ { ++ "name": "ls7a_rtc", ++ "parent": "sys-bus-device" ++ }, ++ { ++ "name": "virtio-multitouch-pci", ++ "parent": "virtio-multitouch-pci-base-type" ++ }, ++ { ++ "name": "virtio-iommu-device", ++ "parent": "virtio-device" ++ }, ++ { ++ "name": "pvscsi", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "PCIE", ++ "parent": "PCI" ++ }, ++ { ++ "name": "chardev-testdev", ++ "parent": "chardev" ++ }, ++ { ++ "name": "pci-bridge-seat", ++ "parent": "pci-bridge" ++ }, ++ { ++ "name": "i82550", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "virtio-vga", ++ "parent": "virtio-vga-base-type" ++ }, ++ { ++ "name": "virtio-keyboard-pci", ++ "parent": "virtio-keyboard-pci-base-type" ++ }, ++ { ++ "name": "ide-hd", ++ "parent": "ide-device" ++ }, ++ { ++ "name": "vhost-user-i2c-device", ++ "parent": "virtio-device" ++ }, ++ { ++ "name": "ccid-card-emulated", ++ "parent": "ccid-card" ++ }, ++ { ++ "name": "none-machine", ++ "parent": "machine" ++ }, ++ { ++ "name": "pcm3680_pci", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "usb-host", ++ "parent": "usb-device" ++ }, ++ { ++ "name": "virtio-serial-device", ++ "parent": "virtio-device" ++ }, ++ { ++ "name": "virtio-net-pci-non-transitional", ++ "parent": "virtio-net-pci-base" ++ }, ++ { ++ "name": "vhost-user-vsock-pci", ++ "parent": "vhost-user-vsock-pci-base" ++ }, ++ { ++ "name": "vhost-vsock-pci", ++ "parent": "vhost-vsock-pci-base" ++ }, ++ { ++ "name": "PCI", ++ "parent": "bus" ++ }, ++ { ++ "name": "piix4-usb-uhci", ++ "parent": "pci-uhci-usb" ++ }, ++ { ++ "name": "virtio-blk-device", ++ "parent": "virtio-device" ++ }, ++ { ++ "name": "virtio-scsi-pci", ++ "parent": "virtio-scsi-pci-base" ++ }, ++ { ++ "name": "vhost-user-scsi-pci-non-transitional", ++ "parent": "vhost-user-scsi-pci-base" ++ }, ++ { ++ "name": "memory-backend-ram", ++ "parent": "memory-backend" ++ }, ++ { ++ "name": "ivshmem-doorbell", ++ "parent": "ivshmem-common" ++ }, ++ { ++ "name": "vhost-scsi-pci-transitional", ++ "parent": "vhost-scsi-pci-base" ++ }, ++ { ++ "name": "qio-channel-command", ++ "parent": "qio-channel" ++ }, ++ { ++ "name": "virtio-9p-pci-transitional", ++ "parent": "virtio-9p-pci-base" ++ }, ++ { ++ "name": "ES1370", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "ufs-lu", ++ "parent": "device" ++ }, ++ { ++ "name": "cpu-cluster", ++ "parent": "device" ++ }, ++ { ++ "name": "virtio-mouse-pci", ++ "parent": "virtio-mouse-pci-base-type" ++ }, ++ { ++ "name": "nvme-ns", ++ "parent": "device" ++ }, ++ { ++ "name": "vhost-user-scsi-pci", ++ "parent": "vhost-user-scsi-pci-base" ++ }, ++ { ++ "name": "cirrus-vga", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "i82801b11-bridge", ++ "parent": "base-pci-bridge" ++ }, ++ { ++ "name": "virtio-tablet-device", ++ "parent": "virtio-input-hid-device" ++ }, ++ { ++ "name": "usb-ccid", ++ "parent": "usb-device" ++ }, ++ { ++ "name": "pci-ohci", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "pcie-root-port", ++ "parent": "pcie-root-port-base" ++ }, ++ { ++ "name": "vhost-scsi-pci", ++ "parent": "vhost-scsi-pci-base" ++ }, ++ { ++ "name": "virtio-scsi-pci-transitional", ++ "parent": "virtio-scsi-pci-base" ++ }, ++ { ++ "name": "virtio-balloon-pci", ++ "parent": "virtio-balloon-pci-base" ++ }, ++ { ++ "name": "i82558b", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "chardev-parallel", ++ "parent": "chardev" ++ }, ++ { ++ "name": "gpex-pcihost", ++ "parent": "pcie-host-bridge" ++ }, ++ { ++ "name": "secret", ++ "parent": "secret_common" ++ }, ++ { ++ "name": "virtio-9p-pci-non-transitional", ++ "parent": "virtio-9p-pci-base" ++ }, ++ { ++ "name": "i82558a", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "vhost-user-gpu", ++ "parent": "virtio-gpu-base" ++ }, ++ { ++ "name": "imx.usbphy", ++ "parent": "sys-bus-device" ++ }, ++ { ++ "name": "kvm-accel", ++ "parent": "accel" ++ }, ++ { ++ "name": "chardev-pipe", ++ "parent": "chardev-fd" ++ }, ++ { ++ "name": "vfio-calxeda-xgmac", ++ "parent": "vfio-platform" ++ }, ++ { ++ "name": "vhost-user-vsock-device", ++ "parent": "vhost-vsock-common" ++ }, ++ { ++ "name": "qio-channel-file", ++ "parent": "qio-channel" ++ }, ++ { ++ "name": "max-loongarch-cpu", ++ "parent": "loongarch64-cpu" ++ }, ++ { ++ "name": "generic-sdhci", ++ "parent": "sys-bus-device" ++ }, ++ { ++ "name": "IDE", ++ "parent": "bus" ++ }, ++ { ++ "name": "VGA", ++ "parent": "pci-vga" ++ }, ++ { ++ "name": "virtio-sound-pci", ++ "parent": "virtio-sound-pci-base-type" ++ }, ++ { ++ "name": "virtio-balloon-device", ++ "parent": "virtio-device" ++ }, ++ { ++ "name": "pci-bridge", ++ "parent": "base-pci-bridge" ++ }, ++ { ++ "name": "authz-simple", ++ "parent": "authz" ++ }, ++ { ++ "name": "vfio-platform", ++ "parent": "sys-bus-device" ++ }, ++ { ++ "name": "chardev-qemu-vdagent", ++ "parent": "chardev" ++ }, ++ { ++ "name": "vhost-user-device", ++ "parent": "vhost-user-base" ++ }, ++ { ++ "name": "authz-list", ++ "parent": "authz" ++ }, ++ { ++ "name": "i2c-ddc", ++ "parent": "i2c-slave" ++ }, ++ { ++ "name": "pcnet", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "System", ++ "parent": "bus" ++ }, ++ { ++ "name": "rng-egd", ++ "parent": "rng-backend" ++ }, ++ { ++ "name": "cryptodev-backend-builtin", ++ "parent": "cryptodev-backend" ++ }, ++ { ++ "name": "vhost-user-scsi", ++ "parent": "vhost-scsi-common" ++ }, ++ { ++ "name": "pci-serial-4x", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "virtio-rng-pci", ++ "parent": "virtio-rng-pci-base" ++ }, ++ { ++ "name": "i82559er", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "dbus-display", ++ "parent": "object" ++ }, ++ { ++ "name": "scsi-hd", ++ "parent": "scsi-disk-base" ++ }, ++ { ++ "name": "sdhci-pci", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "vhost-user-i2c-pci", ++ "parent": "vhost-user-i2c-pci-base" ++ }, ++ { ++ "name": "ivshmem-plain", ++ "parent": "ivshmem-common" ++ }, ++ { ++ "name": "AC97", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "qio-dns-resolver", ++ "parent": "object" ++ }, ++ { ++ "name": "vhost-user-rng-pci", ++ "parent": "vhost-user-rng-pci-base" ++ }, ++ { ++ "name": "scsi-block", ++ "parent": "scsi-disk-base" ++ }, ++ { ++ "name": "chardev-serial", ++ "parent": "chardev-fd" ++ }, ++ { ++ "name": "chardev-socket", ++ "parent": "chardev" ++ }, ++ { ++ "name": "i82562", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "usb-audio", ++ "parent": "usb-device" ++ }, ++ { ++ "name": "chardev-file", ++ "parent": "chardev-fd" ++ }, ++ { ++ "name": "qtest-accel", ++ "parent": "accel" ++ }, ++ { ++ "name": "iothread", ++ "parent": "event-loop-base" ++ }, ++ { ++ "name": "guest-loader", ++ "parent": "device" ++ }, ++ { ++ "name": "throttle-group", ++ "parent": "object" ++ }, ++ { ++ "name": "virtio-9p-pci", ++ "parent": "virtio-9p-pci-base" ++ }, ++ { ++ "name": "can-bus", ++ "parent": "object" ++ }, ++ { ++ "name": "ipoctal232", ++ "parent": "ipack-device" ++ }, ++ { ++ "name": "qtest", ++ "parent": "object" ++ }, ++ { ++ "name": "usb-storage", ++ "parent": "usb-storage-dev" ++ }, ++ { ++ "name": "virtio-balloon-pci-transitional", ++ "parent": "virtio-balloon-pci-base" ++ }, ++ { ++ "name": "qio-channel-buffer", ++ "parent": "qio-channel" ++ }, ++ { ++ "name": "ich9-usb-uhci6", ++ "parent": "pci-uhci-usb" ++ }, ++ { ++ "name": "irq", ++ "parent": "object" ++ }, ++ { ++ "name": "tulip", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "vhost-user-blk-pci-transitional", ++ "parent": "vhost-user-blk-pci-base" ++ }, ++ { ++ "name": "accel", ++ "parent": "object" ++ }, ++ { ++ "name": "virtio-crypto-pci", ++ "parent": "virtio-crypto-pci-base-type" ++ }, ++ { ++ "name": "ich9-usb-uhci5", ++ "parent": "pci-uhci-usb" ++ }, ++ { ++ "name": "usb-ehci", ++ "parent": "pci-ehci-usb" ++ }, ++ { ++ "name": "gpio_i2c", ++ "parent": "sys-bus-device" ++ }, ++ { ++ "name": "s3c-sdhci", ++ "parent": "generic-sdhci" ++ }, ++ { ++ "name": "chardev-spiceport", ++ "parent": "chardev-spice" ++ }, ++ { ++ "name": "nvme-subsys", ++ "parent": "device" ++ }, ++ { ++ "name": "i6300esb", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "chardev-spicevmc", ++ "parent": "chardev-spice" ++ }, ++ { ++ "name": "ich9-usb-uhci4", ++ "parent": "pci-uhci-usb" ++ }, ++ { ++ "name": "usb-redir", ++ "parent": "usb-device" ++ }, ++ { ++ "name": "qemu-xhci", ++ "parent": "pci-xhci" ++ }, ++ { ++ "name": "nvme", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "usb-mtp", ++ "parent": "usb-device" ++ }, ++ { ++ "name": "virtserialport", ++ "parent": "virtio-serial-port" ++ }, ++ { ++ "name": "hda-duplex", ++ "parent": "hda-audio" ++ }, ++ { ++ "name": "virtio-serial-bus", ++ "parent": "bus" ++ }, ++ { ++ "name": "loongarch.extioi", ++ "parent": "sys-bus-device" ++ }, ++ { ++ "name": "ich9-usb-uhci3", ++ "parent": "pci-uhci-usb" ++ }, ++ { ++ "name": "virtio-gpu-device", ++ "parent": "virtio-gpu-base" ++ }, ++ { ++ "name": "sysbus-ahci", ++ "parent": "sys-bus-device" ++ }, ++ { ++ "name": "i82559c", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "tls-cipher-suites", ++ "parent": "tls-creds" ++ }, ++ { ++ "name": "platform-bus-device", ++ "parent": "sys-bus-device" ++ }, ++ { ++ "name": "virtio-keyboard-device", ++ "parent": "virtio-input-hid-device" ++ }, ++ { ++ "name": "ich9-usb-uhci2", ++ "parent": "pci-uhci-usb" ++ }, ++ { ++ "name": "qio-channel-websock", ++ "parent": "qio-channel" ++ }, ++ { ++ "name": "megasas", ++ "parent": "megasas-base" ++ }, ++ { ++ "name": "vhost-user-fs-pci", ++ "parent": "vhost-user-fs-pci-base" ++ }, ++ { ++ "name": "gpex-root", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "i82559b", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "virtio-input-host-device", ++ "parent": "virtio-input-device" ++ }, ++ { ++ "name": "dbus-vmstate", ++ "parent": "object" ++ }, ++ { ++ "name": "ufs", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "memory-region-portio-list", ++ "parent": "object" ++ }, ++ { ++ "name": "ich9-usb-uhci1", ++ "parent": "pci-uhci-usb" ++ }, ++ { ++ "name": "qio-net-listener", ++ "parent": "object" ++ }, ++ { ++ "name": "i82559a", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "virtio-pci-bus", ++ "parent": "virtio-bus" ++ }, ++ { ++ "name": "vfio-amd-xgbe", ++ "parent": "vfio-platform" ++ }, ++ { ++ "name": "cfi.pflash01", ++ "parent": "sys-bus-device" ++ }, ++ { ++ "name": "ich9-intel-hda", ++ "parent": "intel-hda-generic" ++ }, ++ { ++ "name": "nvme-bus", ++ "parent": "bus" ++ }, ++ { ++ "name": "usb-net", ++ "parent": "usb-device" ++ }, ++ { ++ "name": "bochs-display", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "memory-region", ++ "parent": "object" ++ }, ++ { ++ "name": "vhost-vdpa-device-pci", ++ "parent": "vhost-vdpa-device-pci-base" ++ }, ++ { ++ "name": "vhost-user-scmi", ++ "parent": "virtio-device" ++ }, ++ { ++ "name": "ich9-usb-ehci2", ++ "parent": "pci-ehci-usb" ++ }, ++ { ++ "name": "hda-output", ++ "parent": "hda-audio" ++ }, ++ { ++ "name": "loader", ++ "parent": "device" ++ }, ++ { ++ "name": "ccid-bus", ++ "parent": "bus" ++ }, ++ { ++ "name": "usb-bus", ++ "parent": "bus" ++ }, ++ { ++ "name": "cryptodev-backend-lkcf", ++ "parent": "cryptodev-backend" ++ }, ++ { ++ "name": "ne2k_pci", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "la464-loongarch-cpu", ++ "parent": "loongarch64-cpu" ++ }, ++ { ++ "name": "cryptodev-vhost-user", ++ "parent": "cryptodev-backend" ++ }, ++ { ++ "name": "ich9-usb-ehci1", ++ "parent": "pci-ehci-usb" ++ }, ++ { ++ "name": "remote-pcihost", ++ "parent": "pcie-host-bridge" ++ }, ++ { ++ "name": "igb", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "ufs-bus", ++ "parent": "bus" ++ }, ++ { ++ "name": "pcie-pci-bridge", ++ "parent": "base-pci-bridge" ++ }, ++ { ++ "name": "vhost-user-input", ++ "parent": "virtio-input-device" ++ }, ++ { ++ "name": "e1000e", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "nec-usb-xhci", ++ "parent": "pci-xhci" ++ }, ++ { ++ "name": "x-pci-proxy-dev", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "sysbus-ohci", ++ "parent": "sys-bus-device" ++ }, ++ { ++ "name": "virtio-blk-pci-transitional", ++ "parent": "virtio-blk-pci-base" ++ }, ++ { ++ "name": "ctucan_pci", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "vfio-pci", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "can-host-socketcan", ++ "parent": "can-host" ++ }, ++ { ++ "name": "vhost-user-blk-pci-non-transitional", ++ "parent": "vhost-user-blk-pci-base" ++ }, ++ { ++ "name": "cryptodev-backend", ++ "parent": "object" ++ }, ++ { ++ "name": "kvaser_pci", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "filter-rewriter", ++ "parent": "netfilter" ++ }, ++ { ++ "name": "sysbus-esp", ++ "parent": "sys-bus-device" ++ }, ++ { ++ "name": "virtio-iommu-memory-region", ++ "parent": "iommu-memory-region" ++ }, ++ { ++ "name": "imx-usdhc", ++ "parent": "generic-sdhci" ++ }, ++ { ++ "name": "usb-kbd", ++ "parent": "usb-hid" ++ }, ++ { ++ "name": "input-barrier", ++ "parent": "object" ++ }, ++ { ++ "name": "qio-channel-null", ++ "parent": "qio-channel" ++ }, ++ { ++ "name": "hda-micro", ++ "parent": "hda-audio" ++ }, ++ { ++ "name": "thread-context", ++ "parent": "object" ++ }, ++ { ++ "name": "chardev-braille", ++ "parent": "chardev" ++ }, ++ { ++ "name": "qemu-text-console", ++ "parent": "qemu-console" ++ }, ++ { ++ "name": "vhost-user-scsi-pci-transitional", ++ "parent": "vhost-user-scsi-pci-base" ++ }, ++ { ++ "name": "virtio-rng-device", ++ "parent": "virtio-device" ++ }, ++ { ++ "name": "ide-cf", ++ "parent": "ide-device" ++ }, ++ { ++ "name": "virtio-tablet-pci", ++ "parent": "virtio-tablet-pci-base-type" ++ }, ++ { ++ "name": "ich9-ahci", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "virtio-iommu-pci", ++ "parent": "virtio-iommu-pci-base-type" ++ }, ++ { ++ "name": "lsi53c810", ++ "parent": "lsi53c895a" ++ }, ++ { ++ "name": "chardev-ringbuf", ++ "parent": "chardev" ++ }, ++ { ++ "name": "usb-uas", ++ "parent": "usb-device" ++ }, ++ { ++ "name": "chardev-memory", ++ "parent": "chardev-ringbuf" ++ }, ++ { ++ "name": "lsi53c895a", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "fw_cfg_io", ++ "parent": "fw_cfg" ++ }, ++ { ++ "name": "memory-backend-file", ++ "parent": "memory-backend" ++ }, ++ { ++ "name": "vmcoreinfo", ++ "parent": "device" ++ }, ++ { ++ "name": "qio-channel-socket", ++ "parent": "qio-channel" ++ }, ++ { ++ "name": "la132-loongarch-cpu", ++ "parent": "loongarch32-cpu" ++ }, ++ { ++ "name": "vhost-scsi", ++ "parent": "vhost-scsi-common" ++ }, ++ { ++ "name": "ide-cd", ++ "parent": "ide-device" ++ }, ++ { ++ "name": "virtio-rng-pci-transitional", ++ "parent": "virtio-rng-pci-base" ++ }, ++ { ++ "name": "virtio-9p-device", ++ "parent": "virtio-device" ++ }, ++ { ++ "name": "virt-machine", ++ "parent": "machine" ++ }, ++ { ++ "name": "authz-list-file", ++ "parent": "authz" ++ }, ++ { ++ "name": "vmxnet3", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "scsi-generic", ++ "parent": "scsi-device" ++ }, ++ { ++ "name": "e1000-82545em", ++ "parent": "e1000-base" ++ }, ++ { ++ "name": "usb-hub", ++ "parent": "usb-device" ++ }, ++ { ++ "name": "container", ++ "parent": "object" ++ }, ++ { ++ "name": "nvdimm", ++ "parent": "pc-dimm" ++ }, ++ { ++ "name": "vhost-user-vsock-pci-non-transitional", ++ "parent": "vhost-user-vsock-pci-base" ++ }, ++ { ++ "name": "virtio-input-host-pci", ++ "parent": "virtio-input-host-pci-base-type" ++ }, ++ { ++ "name": "mioe3680_pci", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "memory-backend-memfd", ++ "parent": "memory-backend" ++ }, ++ { ++ "name": "tpci200", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "usb-serial", ++ "parent": "usb-serial-dev" ++ }, ++ { ++ "name": "chardev-dbus", ++ "parent": "chardev-socket" ++ }, ++ { ++ "name": "pci-serial-2x", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "virtio-blk-pci", ++ "parent": "virtio-blk-pci-base" ++ }, ++ { ++ "name": "rng-builtin", ++ "parent": "rng-backend" ++ }, ++ { ++ "name": "tcg-accel", ++ "parent": "accel" ++ }, ++ { ++ "name": "virtio-scsi-pci-non-transitional", ++ "parent": "virtio-scsi-pci-base" ++ }, ++ { ++ "name": "chardev-null", ++ "parent": "chardev" ++ }, ++ { ++ "name": "vhost-user-blk-pci", ++ "parent": "vhost-user-blk-pci-base" ++ }, ++ { ++ "name": "sdhci-bus", ++ "parent": "sd-bus" ++ }, ++ { ++ "name": "virtio-mouse-device", ++ "parent": "virtio-input-hid-device" ++ }, ++ { ++ "name": "qemu-fixed-text-console", ++ "parent": "qemu-text-console" ++ }, ++ { ++ "name": "input-linux", ++ "parent": "object" ++ }, ++ { ++ "name": "mptsas1068", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "loongarch_pch_pic", ++ "parent": "sys-bus-device" ++ }, ++ { ++ "name": "e1000", ++ "parent": "e1000-base" ++ }, ++ { ++ "name": "virtio-serial-pci-non-transitional", ++ "parent": "virtio-serial-pci-base" ++ }, ++ { ++ "name": "tls-creds-x509", ++ "parent": "tls-creds" ++ }, ++ { ++ "name": "acpi-erst", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "rtl8139", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "main-loop", ++ "parent": "event-loop-base" ++ }, ++ { ++ "name": "filter-buffer", ++ "parent": "netfilter" ++ }, ++ { ++ "name": "vhost-vsock-device", ++ "parent": "vhost-vsock-common" ++ }, ++ { ++ "name": "secondary-vga", ++ "parent": "pci-vga" ++ }, ++ { ++ "name": "vhost-user-gpio-device", ++ "parent": "virtio-device" ++ }, ++ { ++ "name": "virtio-net-device", ++ "parent": "virtio-device" ++ }, ++ { ++ "name": "x-remote-object", ++ "parent": "object" ++ }, ++ { ++ "name": "virtio-rng-pci-non-transitional", ++ "parent": "virtio-rng-pci-base" ++ }, ++ { ++ "name": "filter-replay", ++ "parent": "netfilter" ++ }, ++ { ++ "name": "filter-dump", ++ "parent": "netfilter" ++ }, ++ { ++ "name": "serial-mm", ++ "parent": "sys-bus-device" ++ }, ++ { ++ "name": "usb-bot", ++ "parent": "usb-storage-dev" ++ }, ++ { ++ "name": "vhost-user-scmi-pci", ++ "parent": "vhost-user-scmi-pci-base" ++ }, ++ { ++ "name": "chardev-stdio", ++ "parent": "chardev-fd" ++ }, ++ { ++ "name": "chardev-msmouse", ++ "parent": "chardev" ++ }, ++ { ++ "name": "pvpanic-pci", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "x3130-upstream", ++ "parent": "pcie-port" ++ }, ++ { ++ "name": "serial", ++ "parent": "device" ++ }, ++ { ++ "name": "megasas-gen2", ++ "parent": "megasas-base" ++ }, ++ { ++ "name": "x-remote-machine", ++ "parent": "machine" ++ }, ++ { ++ "name": "piix3-usb-uhci", ++ "parent": "pci-uhci-usb" ++ }, ++ { ++ "name": "vhost-vsock-pci-non-transitional", ++ "parent": "vhost-vsock-pci-base" ++ }, ++ { ++ "name": "base-xhci", ++ "parent": "device" ++ }, ++ { ++ "name": "esp", ++ "parent": "device" ++ }, ++ { ++ "name": "vhost-user-device-pci", ++ "parent": "vhost-user-device-pci-base" ++ }, ++ { ++ "name": "rng-random", ++ "parent": "rng-backend" ++ }, ++ { ++ "name": "ati-vga", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "virtio-crypto-device", ++ "parent": "virtio-device" ++ }, ++ { ++ "name": "vhost-vdpa-device-pci-transitional", ++ "parent": "vhost-vdpa-device-pci-base" ++ }, ++ { ++ "name": "x-remote-iommu", ++ "parent": "object" ++ }, ++ { ++ "name": "u2f-passthru", ++ "parent": "u2f-key" ++ }, ++ { ++ "name": "usb-mouse", ++ "parent": "usb-hid" ++ }, ++ { ++ "name": "migration", ++ "parent": "device" ++ }, ++ { ++ "name": "sd-card-spi", ++ "parent": "sd-card" ++ }, ++ { ++ "name": "HDA", ++ "parent": "bus" ++ }, ++ { ++ "name": "chardev-gdb", ++ "parent": "chardev" ++ }, ++ { ++ "name": "i2c-bus", ++ "parent": "bus" ++ }, ++ { ++ "name": "sd-bus", ++ "parent": "bus" ++ }, ++ { ++ "name": "ramfb", ++ "parent": "sys-bus-device" ++ }, ++ { ++ "name": "virtio-gpu-pci", ++ "parent": "virtio-gpu-pci-base-type" ++ }, ++ { ++ "name": "tls-creds-anon", ++ "parent": "tls-creds" ++ }, ++ { ++ "name": "scsi-cd", ++ "parent": "scsi-disk-base" ++ }, ++ { ++ "name": "clock", ++ "parent": "object" ++ }, ++ { ++ "name": "i82557c", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "chardev-udp", ++ "parent": "chardev" ++ }, ++ { ++ "name": "unimplemented-device", ++ "parent": "sys-bus-device" ++ }, ++ { ++ "name": "am53c974", ++ "parent": "pci-device" ++ }, ++ { ++ "name": "vhost-scsi-pci-non-transitional", ++ "parent": "vhost-scsi-pci-base" ++ }, ++ { ++ "name": "filter-redirector", ++ "parent": "netfilter" ++ }, ++ { ++ "name": "fw_cfg_mem", ++ "parent": "fw_cfg" ++ }, ++ { ++ "name": "virtio-serial-pci-transitional", ++ "parent": "virtio-serial-pci-base" ++ }, ++ { ++ "name": "vhost-user-gpu-pci", ++ "parent": "vhost-user-gpu-pci-base-type" ++ } ++ ], ++ "id": "libvirt-6" ++} ++ ++{ ++ "execute": "device-list-properties", ++ "arguments": { ++ "typename": "virtio-blk-pci" ++ }, ++ "id": "libvirt-7" ++} ++ ++{ ++ "return": [ ++ { ++ "name": "failover_pair_id", ++ "type": "str" ++ }, ++ { ++ "name": "romfile", ++ "type": "str" ++ }, ++ { ++ "default-value": -1, ++ "name": "addr", ++ "description": "Slot and optional function number, example: 06.0 or 06", ++ "type": "int32" ++ }, ++ { ++ "default-value": 4294967295, ++ "name": "romsize", ++ "type": "uint32" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-lnksta-dllla", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 1, ++ "name": "rombar", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "x-pcie-ari-nextfn-1", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-err-unc-mask", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-extcap-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 0, ++ "name": "acpi-index", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "multifunction", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "migrate-extra", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "ats", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "x-ignore-backend-features", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-pm-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "aer", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-flr-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-lnkctl-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-ats-page-aligned", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "page-per-vq", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-deverr-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "virtio-pci-bus-master-bug-migration", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "modern-pio-notify", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "x-disable-pcie", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 4294967295, ++ "name": "vectors", ++ "type": "uint32" ++ }, ++ { ++ "default-value": true, ++ "name": "ioeventfd", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 0, ++ "name": "class", ++ "type": "uint32" ++ }, ++ { ++ "default-value": "auto", ++ "name": "disable-legacy", ++ "description": "on/off/auto", ++ "type": "OnOffAuto" ++ }, ++ { ++ "default-value": false, ++ "name": "disable-modern", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "notify_on_empty", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "share-rw", ++ "type": "bool" ++ }, ++ { ++ "default-value": 0, ++ "name": "lcyls", ++ "type": "uint32" ++ }, ++ { ++ "default-value": 256, ++ "name": "queue-size", ++ "type": "uint16" ++ }, ++ { ++ "default-value": 0, ++ "name": "lsecs", ++ "type": "uint32" ++ }, ++ { ++ "default-value": 0, ++ "name": "heads", ++ "type": "uint32" ++ }, ++ { ++ "default-value": "auto", ++ "name": "account-invalid", ++ "description": "on/off/auto", ++ "type": "OnOffAuto" ++ }, ++ { ++ "name": "iothread", ++ "type": "link" ++ }, ++ { ++ "default-value": 0, ++ "name": "lheads", ++ "type": "uint32" ++ }, ++ { ++ "default-value": 65535, ++ "name": "num-queues", ++ "type": "uint16" ++ }, ++ { ++ "default-value": 0, ++ "name": "cyls", ++ "type": "uint32" ++ }, ++ { ++ "default-value": 0, ++ "name": "secs", ++ "type": "uint32" ++ }, ++ { ++ "name": "virtio-backend", ++ "type": "child" ++ }, ++ { ++ "default-value": 0, ++ "name": "min_io_size", ++ "type": "size" ++ }, ++ { ++ "name": "bootindex", ++ "type": "int32" ++ }, ++ { ++ "default-value": true, ++ "name": "config-wce", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "seg-max-adjust", ++ "type": "bool" ++ }, ++ { ++ "name": "drive", ++ "description": "Node name or ID of a block device to use as a backend", ++ "type": "str" ++ }, ++ { ++ "default-value": "auto", ++ "name": "werror", ++ "description": "Error handling policy, report/ignore/enospc/stop/auto", ++ "type": "BlockdevOnError" ++ }, ++ { ++ "default-value": true, ++ "name": "report-discard-granularity", ++ "type": "bool" ++ }, ++ { ++ "default-value": "auto", ++ "name": "rerror", ++ "description": "Error handling policy, report/ignore/enospc/stop/auto", ++ "type": "BlockdevOnError" ++ }, ++ { ++ "default-value": "auto", ++ "name": "write-cache", ++ "description": "on/off/auto", ++ "type": "OnOffAuto" ++ }, ++ { ++ "default-value": true, ++ "name": "use-disabled-flag", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "x-disable-legacy-check", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "use-started", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "iommu_platform", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 0, ++ "name": "physical_block_size", ++ "description": "A power of two between 512 B and 2 MiB", ++ "type": "size" ++ }, ++ { ++ "default-value": false, ++ "name": "scsi", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "any_layout", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 0, ++ "name": "opt_io_size", ++ "type": "size" ++ }, ++ { ++ "default-value": 0, ++ "name": "logical_block_size", ++ "description": "A power of two between 512 B and 2 MiB", ++ "type": "size" ++ }, ++ { ++ "default-value": 4194303, ++ "name": "max-discard-sectors", ++ "type": "uint32" ++ }, ++ { ++ "default-value": true, ++ "name": "discard", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 4294967295, ++ "name": "discard_granularity", ++ "type": "size" ++ }, ++ { ++ "default-value": true, ++ "name": "request-merging", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "queue_reset", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "write-zeroes", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 4194303, ++ "name": "max-write-zeroes-sectors", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "packed", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": "auto", ++ "name": "account-failed", ++ "description": "on/off/auto", ++ "type": "OnOffAuto" ++ }, ++ { ++ "default-value": true, ++ "name": "indirect_desc", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "event_idx", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-enable-wce-if-config-wce", ++ "type": "bool" ++ }, ++ { ++ "default-value": "auto", ++ "name": "backend_defaults", ++ "description": "on/off/auto", ++ "type": "OnOffAuto" ++ }, ++ { ++ "name": "serial", ++ "type": "str" ++ } ++ ], ++ "id": "libvirt-7" ++} ++ ++{ ++ "execute": "device-list-properties", ++ "arguments": { ++ "typename": "virtio-net-pci" ++ }, ++ "id": "libvirt-8" ++} ++ ++{ ++ "return": [ ++ { ++ "name": "failover_pair_id", ++ "type": "str" ++ }, ++ { ++ "name": "romfile", ++ "type": "str" ++ }, ++ { ++ "default-value": -1, ++ "name": "addr", ++ "description": "Slot and optional function number, example: 06.0 or 06", ++ "type": "int32" ++ }, ++ { ++ "default-value": 4294967295, ++ "name": "romsize", ++ "type": "uint32" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-lnksta-dllla", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 1, ++ "name": "rombar", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "x-pcie-ari-nextfn-1", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-err-unc-mask", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-extcap-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 0, ++ "name": "acpi-index", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "multifunction", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "migrate-extra", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "ats", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "x-ignore-backend-features", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-pm-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "aer", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-flr-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-lnkctl-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-ats-page-aligned", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "page-per-vq", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-deverr-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "virtio-pci-bus-master-bug-migration", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "modern-pio-notify", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "x-disable-pcie", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 4294967295, ++ "name": "vectors", ++ "type": "uint32" ++ }, ++ { ++ "default-value": true, ++ "name": "ioeventfd", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": "auto", ++ "name": "disable-legacy", ++ "description": "on/off/auto", ++ "type": "OnOffAuto" ++ }, ++ { ++ "default-value": false, ++ "name": "disable-modern", ++ "type": "bool" ++ }, ++ { ++ "name": "mac", ++ "description": "Ethernet 6-byte MAC Address, example: 52:54:00:12:34:56", ++ "type": "str" ++ }, ++ { ++ "default-value": true, ++ "name": "notify_on_empty", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "gso", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 150000, ++ "name": "x-txtimer", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "mq", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "mrg_rxbuf", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 256, ++ "name": "x-txburst", ++ "type": "int32" ++ }, ++ { ++ "default-value": 0, ++ "name": "host_mtu", ++ "type": "uint16" ++ }, ++ { ++ "name": "tx", ++ "type": "str" ++ }, ++ { ++ "default-value": false, ++ "name": "rss", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "status", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "use-disabled-flag", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "failover", ++ "type": "bool" ++ }, ++ { ++ "name": "virtio-backend", ++ "type": "child" ++ }, ++ { ++ "default-value": false, ++ "name": "packed", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "ctrl_mac_addr", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 256, ++ "name": "tx_queue_size", ++ "type": "uint16" ++ }, ++ { ++ "default-value": true, ++ "name": "guest_tso4", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "use-started", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "hash", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "host_tso6", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "ctrl_guest_offloads", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "guest_ufo", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "name": "bootindex", ++ "type": "int32" ++ }, ++ { ++ "default-value": true, ++ "name": "ctrl_vq", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "guest_ecn", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "iommu_platform", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "guest_uso6", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "host_ufo", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "x-disable-legacy-check", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "any_layout", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "host_ecn", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "guest_rsc_ext", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "name": "duplex", ++ "type": "str" ++ }, ++ { ++ "default-value": 300000, ++ "name": "rsc_interval", ++ "type": "uint32" ++ }, ++ { ++ "default-value": true, ++ "name": "guest_announce", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "name": "netdev", ++ "description": "ID of a netdev to use as a backend", ++ "type": "str" ++ }, ++ { ++ "default-value": true, ++ "name": "host_tso4", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-mtu-bypass-backend", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "queue_reset", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "ctrl_rx_extra", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 256, ++ "name": "rx_queue_size", ++ "type": "uint16" ++ }, ++ { ++ "default-value": true, ++ "name": "guest_csum", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "guest_uso4", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "host_uso", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "event_idx", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "indirect_desc", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "ctrl_vlan", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "guest_tso6", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": -1, ++ "name": "speed", ++ "type": "int32" ++ }, ++ { ++ "default-value": true, ++ "name": "csum", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "ctrl_rx", ++ "description": "on/off", ++ "type": "bool" ++ } ++ ], ++ "id": "libvirt-8" ++} ++ ++{ ++ "execute": "device-list-properties", ++ "arguments": { ++ "typename": "virtio-scsi-pci" ++ }, ++ "id": "libvirt-9" ++} ++ ++{ ++ "return": [ ++ { ++ "name": "failover_pair_id", ++ "type": "str" ++ }, ++ { ++ "name": "romfile", ++ "type": "str" ++ }, ++ { ++ "default-value": -1, ++ "name": "addr", ++ "description": "Slot and optional function number, example: 06.0 or 06", ++ "type": "int32" ++ }, ++ { ++ "default-value": 4294967295, ++ "name": "romsize", ++ "type": "uint32" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-lnksta-dllla", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 1, ++ "name": "rombar", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "x-pcie-ari-nextfn-1", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-err-unc-mask", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-extcap-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 0, ++ "name": "acpi-index", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "multifunction", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "migrate-extra", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "ats", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "x-ignore-backend-features", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-pm-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "aer", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-flr-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-lnkctl-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-ats-page-aligned", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "page-per-vq", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-deverr-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "virtio-pci-bus-master-bug-migration", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "modern-pio-notify", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "x-disable-pcie", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 4294967295, ++ "name": "vectors", ++ "type": "uint32" ++ }, ++ { ++ "default-value": true, ++ "name": "ioeventfd", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": "auto", ++ "name": "disable-legacy", ++ "description": "on/off/auto", ++ "type": "OnOffAuto" ++ }, ++ { ++ "default-value": false, ++ "name": "disable-modern", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "indirect_desc", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "iommu_platform", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "hotplug", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "use-started", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "use-disabled-flag", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "event_idx", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 4294967295, ++ "name": "num_queues", ++ "type": "uint32" ++ }, ++ { ++ "default-value": 65535, ++ "name": "max_sectors", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "x-disable-legacy-check", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "any_layout", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "notify_on_empty", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "name": "iothread", ++ "type": "link" ++ }, ++ { ++ "default-value": true, ++ "name": "param_change", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "packed", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "queue_reset", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 256, ++ "name": "virtqueue_size", ++ "type": "uint32" ++ }, ++ { ++ "default-value": true, ++ "name": "seg_max_adjust", ++ "type": "bool" ++ }, ++ { ++ "default-value": 128, ++ "name": "cmd_per_lun", ++ "type": "uint32" ++ }, ++ { ++ "name": "virtio-backend", ++ "type": "child" ++ } ++ ], ++ "id": "libvirt-9" ++} ++ ++{ ++ "execute": "device-list-properties", ++ "arguments": { ++ "typename": "virtio-net-ccw" ++ }, ++ "id": "libvirt-10" ++} ++ ++{ ++ "id": "libvirt-10", ++ "error": { ++ "class": "DeviceNotFound", ++ "desc": "Device 'virtio-net-ccw' not found" ++ } ++} ++ ++{ ++ "execute": "device-list-properties", ++ "arguments": { ++ "typename": "virtio-scsi-ccw" ++ }, ++ "id": "libvirt-11" ++} ++ ++{ ++ "id": "libvirt-11", ++ "error": { ++ "class": "DeviceNotFound", ++ "desc": "Device 'virtio-scsi-ccw' not found" ++ } ++} ++ ++{ ++ "execute": "device-list-properties", ++ "arguments": { ++ "typename": "vfio-pci" ++ }, ++ "id": "libvirt-12" ++} ++ ++{ ++ "return": [ ++ { ++ "name": "failover_pair_id", ++ "type": "str" ++ }, ++ { ++ "name": "romfile", ++ "type": "str" ++ }, ++ { ++ "default-value": -1, ++ "name": "addr", ++ "description": "Slot and optional function number, example: 06.0 or 06", ++ "type": "int32" ++ }, ++ { ++ "default-value": 4294967295, ++ "name": "romsize", ++ "type": "uint32" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-lnksta-dllla", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 1, ++ "name": "rombar", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "x-pcie-ari-nextfn-1", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-err-unc-mask", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-extcap-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 0, ++ "name": "acpi-index", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "multifunction", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "x-no-kvm-msix", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "x-vga", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 0, ++ "name": "yres", ++ "type": "uint32" ++ }, ++ { ++ "default-value": "on", ++ "name": "x-pre-copy-dirty-page-tracking", ++ "description": "on/off/auto", ++ "type": "OnOffAuto" ++ }, ++ { ++ "name": "x-nv-gpudirect-clique", ++ "description": "NVIDIA GPUDirect Clique ID (0 - 15)", ++ "type": "uint4" ++ }, ++ { ++ "default-value": 0, ++ "name": "x-igd-gms", ++ "type": "uint32" ++ }, ++ { ++ "default-value": "off", ++ "name": "x-msix-relocation", ++ "description": "off/auto/bar0/bar1/bar2/bar3/bar4/bar5", ++ "type": "OffAutoPCIBAR" ++ }, ++ { ++ "default-value": false, ++ "name": "x-no-vfio-ioeventfd", ++ "type": "bool" ++ }, ++ { ++ "name": "sysfsdev", ++ "type": "str" ++ }, ++ { ++ "name": "host", ++ "description": "Address (bus/device/function) of the host device, example: 04:10.0", ++ "type": "str" ++ }, ++ { ++ "default-value": 4294967295, ++ "name": "x-pci-device-id", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "x-no-kvm-msi", ++ "type": "bool" ++ }, ++ { ++ "name": "vf-token", ++ "description": "UUID (aka GUID) or \"auto\" for random value (default)", ++ "type": "str" ++ }, ++ { ++ "default-value": 4294967295, ++ "name": "x-pci-sub-vendor-id", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "x-no-geforce-quirks", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-req", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "x-no-kvm-intx", ++ "type": "bool" ++ }, ++ { ++ "default-value": 1100, ++ "name": "x-intx-mmap-timeout-ms", ++ "type": "uint32" ++ }, ++ { ++ "default-value": "auto", ++ "name": "enable-migration", ++ "description": "on/off/auto", ++ "type": "OnOffAuto" ++ }, ++ { ++ "default-value": false, ++ "name": "x-no-kvm-ioeventfd", ++ "type": "bool" ++ }, ++ { ++ "default-value": 4294967295, ++ "name": "x-pci-sub-device-id", ++ "type": "uint32" ++ }, ++ { ++ "default-value": "off", ++ "name": "display", ++ "description": "on/off/auto", ++ "type": "OnOffAuto" ++ }, ++ { ++ "default-value": false, ++ "name": "x-igd-opregion", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 4294967295, ++ "name": "x-pci-vendor-id", ++ "type": "uint32" ++ }, ++ { ++ "default-value": 0, ++ "name": "xres", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "x-no-mmap", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "x-balloon-allowed", ++ "type": "bool" ++ }, ++ { ++ "name": "bootindex", ++ "type": "int32" ++ } ++ ], ++ "id": "libvirt-12" ++} ++ ++{ ++ "execute": "device-list-properties", ++ "arguments": { ++ "typename": "scsi-hd" ++ }, ++ "id": "libvirt-13" ++} ++ ++{ ++ "return": [ ++ { ++ "default-value": 4294967295, ++ "name": "scsi-id", ++ "type": "uint32" ++ }, ++ { ++ "default-value": 4294967295, ++ "name": "lun", ++ "type": "uint32" ++ }, ++ { ++ "default-value": 0, ++ "name": "channel", ++ "type": "uint32" ++ }, ++ { ++ "default-value": 0, ++ "name": "lheads", ++ "type": "uint32" ++ }, ++ { ++ "default-value": 0, ++ "name": "lcyls", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "share-rw", ++ "type": "bool" ++ }, ++ { ++ "default-value": "auto", ++ "name": "account-invalid", ++ "description": "on/off/auto", ++ "type": "OnOffAuto" ++ }, ++ { ++ "default-value": 0, ++ "name": "lsecs", ++ "type": "uint32" ++ }, ++ { ++ "default-value": 5, ++ "name": "scsi_version", ++ "type": "int32" ++ }, ++ { ++ "default-value": 0, ++ "name": "secs", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "removable", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "name": "ver", ++ "type": "str" ++ }, ++ { ++ "default-value": 1073741824, ++ "name": "max_unmap_size", ++ "type": "uint64" ++ }, ++ { ++ "default-value": 0, ++ "name": "cyls", ++ "type": "uint32" ++ }, ++ { ++ "name": "serial", ++ "type": "str" ++ }, ++ { ++ "default-value": 0, ++ "name": "min_io_size", ++ "type": "size" ++ }, ++ { ++ "name": "product", ++ "type": "str" ++ }, ++ { ++ "default-value": 0, ++ "name": "rotation_rate", ++ "type": "uint16" ++ }, ++ { ++ "default-value": 0, ++ "name": "heads", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "dpofua", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "name": "drive", ++ "description": "Node name or ID of a block device to use as a backend", ++ "type": "str" ++ }, ++ { ++ "default-value": "auto", ++ "name": "werror", ++ "description": "Error handling policy, report/ignore/enospc/stop/auto", ++ "type": "BlockdevOnError" ++ }, ++ { ++ "default-value": 0, ++ "name": "wwn", ++ "type": "uint64" ++ }, ++ { ++ "name": "vendor", ++ "type": "str" ++ }, ++ { ++ "default-value": "auto", ++ "name": "rerror", ++ "description": "Error handling policy, report/ignore/enospc/stop/auto", ++ "type": "BlockdevOnError" ++ }, ++ { ++ "default-value": "auto", ++ "name": "write-cache", ++ "description": "on/off/auto", ++ "type": "OnOffAuto" ++ }, ++ { ++ "default-value": 0, ++ "name": "physical_block_size", ++ "description": "A power of two between 512 B and 2 MiB", ++ "type": "size" ++ }, ++ { ++ "default-value": 2147483647, ++ "name": "max_io_size", ++ "type": "uint64" ++ }, ++ { ++ "default-value": false, ++ "name": "quirk_mode_page_vendor_specific_apple", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 0, ++ "name": "opt_io_size", ++ "type": "size" ++ }, ++ { ++ "default-value": 0, ++ "name": "logical_block_size", ++ "description": "A power of two between 512 B and 2 MiB", ++ "type": "size" ++ }, ++ { ++ "default-value": 4294967295, ++ "name": "discard_granularity", ++ "type": "size" ++ }, ++ { ++ "default-value": 0, ++ "name": "port_wwn", ++ "type": "uint64" ++ }, ++ { ++ "default-value": 0, ++ "name": "port_index", ++ "type": "uint16" ++ }, ++ { ++ "default-value": "auto", ++ "name": "account-failed", ++ "description": "on/off/auto", ++ "type": "OnOffAuto" ++ }, ++ { ++ "name": "device_id", ++ "type": "str" ++ }, ++ { ++ "default-value": "auto", ++ "name": "backend_defaults", ++ "description": "on/off/auto", ++ "type": "OnOffAuto" ++ }, ++ { ++ "name": "bootindex", ++ "type": "int32" ++ } ++ ], ++ "id": "libvirt-13" ++} ++ ++{ ++ "execute": "device-list-properties", ++ "arguments": { ++ "typename": "ide-hd" ++ }, ++ "id": "libvirt-14" ++} ++ ++{ ++ "return": [ ++ { ++ "default-value": 4294967295, ++ "name": "unit", ++ "type": "uint32" ++ }, ++ { ++ "default-value": 0, ++ "name": "lsecs", ++ "type": "uint32" ++ }, ++ { ++ "default-value": "auto", ++ "name": "account-invalid", ++ "description": "on/off/auto", ++ "type": "OnOffAuto" ++ }, ++ { ++ "name": "model", ++ "type": "str" ++ }, ++ { ++ "default-value": 0, ++ "name": "lheads", ++ "type": "uint32" ++ }, ++ { ++ "default-value": 0, ++ "name": "rotation_rate", ++ "type": "uint16" ++ }, ++ { ++ "name": "drive", ++ "description": "Node name or ID of a block device to use as a backend", ++ "type": "str" ++ }, ++ { ++ "name": "serial", ++ "type": "str" ++ }, ++ { ++ "default-value": 0, ++ "name": "logical_block_size", ++ "description": "A power of two between 512 B and 2 MiB", ++ "type": "size" ++ }, ++ { ++ "name": "ver", ++ "type": "str" ++ }, ++ { ++ "default-value": false, ++ "name": "share-rw", ++ "type": "bool" ++ }, ++ { ++ "default-value": "auto", ++ "name": "write-cache", ++ "description": "on/off/auto", ++ "type": "OnOffAuto" ++ }, ++ { ++ "default-value": 0, ++ "name": "heads", ++ "type": "uint32" ++ }, ++ { ++ "default-value": 0, ++ "name": "wwn", ++ "type": "uint64" ++ }, ++ { ++ "default-value": 4294967295, ++ "name": "discard_granularity", ++ "type": "size" ++ }, ++ { ++ "default-value": "auto", ++ "name": "backend_defaults", ++ "description": "on/off/auto", ++ "type": "OnOffAuto" ++ }, ++ { ++ "default-value": 0, ++ "name": "cyls", ++ "type": "uint32" ++ }, ++ { ++ "default-value": 0, ++ "name": "lcyls", ++ "type": "uint32" ++ }, ++ { ++ "default-value": 0, ++ "name": "opt_io_size", ++ "type": "size" ++ }, ++ { ++ "default-value": "auto", ++ "name": "rerror", ++ "description": "Error handling policy, report/ignore/enospc/stop/auto", ++ "type": "BlockdevOnError" ++ }, ++ { ++ "default-value": "auto", ++ "name": "bios-chs-trans", ++ "description": "Logical CHS translation algorithm, auto/none/lba/large/rechs", ++ "type": "BiosAtaTranslation" ++ }, ++ { ++ "default-value": 0, ++ "name": "min_io_size", ++ "type": "size" ++ }, ++ { ++ "default-value": "auto", ++ "name": "account-failed", ++ "description": "on/off/auto", ++ "type": "OnOffAuto" ++ }, ++ { ++ "default-value": 0, ++ "name": "physical_block_size", ++ "description": "A power of two between 512 B and 2 MiB", ++ "type": "size" ++ }, ++ { ++ "default-value": 0, ++ "name": "secs", ++ "type": "uint32" ++ }, ++ { ++ "default-value": "auto", ++ "name": "werror", ++ "description": "Error handling policy, report/ignore/enospc/stop/auto", ++ "type": "BlockdevOnError" ++ }, ++ { ++ "name": "bootindex", ++ "type": "int32" ++ } ++ ], ++ "id": "libvirt-14" ++} ++ ++{ ++ "execute": "device-list-properties", ++ "arguments": { ++ "typename": "PIIX4_PM" ++ }, ++ "id": "libvirt-15" ++} ++ ++{ ++ "id": "libvirt-15", ++ "error": { ++ "class": "DeviceNotFound", ++ "desc": "Device 'PIIX4_PM' not found" ++ } ++} ++ ++{ ++ "execute": "device-list-properties", ++ "arguments": { ++ "typename": "usb-redir" ++ }, ++ "id": "libvirt-16" ++} ++ ++{ ++ "return": [ ++ { ++ "name": "pcap", ++ "type": "str" ++ }, ++ { ++ "name": "port", ++ "type": "str" ++ }, ++ { ++ "default-value": true, ++ "name": "msos-desc", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "name": "serial", ++ "type": "str" ++ }, ++ { ++ "name": "filter", ++ "type": "str" ++ }, ++ { ++ "default-value": true, ++ "name": "streams", ++ "type": "bool" ++ }, ++ { ++ "name": "chardev", ++ "description": "ID of a chardev to use as a backend", ++ "type": "str" ++ }, ++ { ++ "default-value": 2, ++ "name": "debug", ++ "type": "uint8" ++ }, ++ { ++ "default-value": true, ++ "name": "suppress-remote-wake", ++ "type": "bool" ++ }, ++ { ++ "name": "bootindex", ++ "type": "int32" ++ }, ++ { ++ "name": "attached", ++ "type": "bool" ++ } ++ ], ++ "id": "libvirt-16" ++} ++ ++{ ++ "execute": "device-list-properties", ++ "arguments": { ++ "typename": "usb-storage" ++ }, ++ "id": "libvirt-17" ++} ++ ++{ ++ "return": [ ++ { ++ "name": "pcap", ++ "type": "str" ++ }, ++ { ++ "name": "port", ++ "type": "str" ++ }, ++ { ++ "default-value": true, ++ "name": "msos-desc", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "name": "serial", ++ "type": "str" ++ }, ++ { ++ "default-value": false, ++ "name": "commandlog", ++ "type": "bool" ++ }, ++ { ++ "default-value": "auto", ++ "name": "rerror", ++ "description": "Error handling policy, report/ignore/enospc/stop/auto", ++ "type": "BlockdevOnError" ++ }, ++ { ++ "default-value": 0, ++ "name": "min_io_size", ++ "type": "size" ++ }, ++ { ++ "default-value": "auto", ++ "name": "backend_defaults", ++ "description": "on/off/auto", ++ "type": "OnOffAuto" ++ }, ++ { ++ "default-value": false, ++ "name": "removable", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "share-rw", ++ "type": "bool" ++ }, ++ { ++ "default-value": "auto", ++ "name": "account-failed", ++ "description": "on/off/auto", ++ "type": "OnOffAuto" ++ }, ++ { ++ "default-value": 0, ++ "name": "logical_block_size", ++ "description": "A power of two between 512 B and 2 MiB", ++ "type": "size" ++ }, ++ { ++ "default-value": "auto", ++ "name": "write-cache", ++ "description": "on/off/auto", ++ "type": "OnOffAuto" ++ }, ++ { ++ "default-value": 0, ++ "name": "opt_io_size", ++ "type": "size" ++ }, ++ { ++ "default-value": "auto", ++ "name": "account-invalid", ++ "description": "on/off/auto", ++ "type": "OnOffAuto" ++ }, ++ { ++ "name": "drive", ++ "description": "Node name or ID of a block device to use as a backend", ++ "type": "str" ++ }, ++ { ++ "default-value": 4294967295, ++ "name": "discard_granularity", ++ "type": "size" ++ }, ++ { ++ "default-value": 0, ++ "name": "physical_block_size", ++ "description": "A power of two between 512 B and 2 MiB", ++ "type": "size" ++ }, ++ { ++ "default-value": "auto", ++ "name": "werror", ++ "description": "Error handling policy, report/ignore/enospc/stop/auto", ++ "type": "BlockdevOnError" ++ }, ++ { ++ "name": "bootindex", ++ "type": "int32" ++ }, ++ { ++ "name": "attached", ++ "type": "bool" ++ } ++ ], ++ "id": "libvirt-17" ++} ++ ++{ ++ "execute": "device-list-properties", ++ "arguments": { ++ "typename": "kvm-pit" ++ }, ++ "id": "libvirt-18" ++} ++ ++{ ++ "id": "libvirt-18", ++ "error": { ++ "class": "DeviceNotFound", ++ "desc": "Device 'kvm-pit' not found" ++ } ++} ++ ++{ ++ "execute": "device-list-properties", ++ "arguments": { ++ "typename": "VGA" ++ }, ++ "id": "libvirt-19" ++} ++ ++{ ++ "return": [ ++ { ++ "name": "failover_pair_id", ++ "type": "str" ++ }, ++ { ++ "name": "romfile", ++ "type": "str" ++ }, ++ { ++ "default-value": -1, ++ "name": "addr", ++ "description": "Slot and optional function number, example: 06.0 or 06", ++ "type": "int32" ++ }, ++ { ++ "default-value": 4294967295, ++ "name": "romsize", ++ "type": "uint32" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-lnksta-dllla", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 1, ++ "name": "rombar", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "x-pcie-ari-nextfn-1", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-err-unc-mask", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-extcap-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 0, ++ "name": "acpi-index", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "multifunction", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 0, ++ "name": "refresh_rate", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "global-vmstate", ++ "type": "bool" ++ }, ++ { ++ "name": "big-endian-framebuffer", ++ "type": "bool" ++ }, ++ { ++ "default-value": 16, ++ "name": "vgamem_mb", ++ "type": "uint32" ++ }, ++ { ++ "default-value": true, ++ "name": "qemu-extended-regs", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "mmio", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 0, ++ "name": "ymax", ++ "type": "uint32" ++ }, ++ { ++ "default-value": 0, ++ "name": "yres", ++ "type": "uint32" ++ }, ++ { ++ "default-value": 0, ++ "name": "xmax", ++ "type": "uint32" ++ }, ++ { ++ "default-value": true, ++ "name": "edid", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 0, ++ "name": "xres", ++ "type": "uint32" ++ } ++ ], ++ "id": "libvirt-19" ++} ++ ++{ ++ "execute": "device-list-properties", ++ "arguments": { ++ "typename": "virtio-gpu-pci" ++ }, ++ "id": "libvirt-20" ++} ++ ++{ ++ "return": [ ++ { ++ "name": "failover_pair_id", ++ "type": "str" ++ }, ++ { ++ "name": "romfile", ++ "type": "str" ++ }, ++ { ++ "default-value": -1, ++ "name": "addr", ++ "description": "Slot and optional function number, example: 06.0 or 06", ++ "type": "int32" ++ }, ++ { ++ "default-value": 4294967295, ++ "name": "romsize", ++ "type": "uint32" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-lnksta-dllla", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 1, ++ "name": "rombar", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "x-pcie-ari-nextfn-1", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-err-unc-mask", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-extcap-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 0, ++ "name": "acpi-index", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "multifunction", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "migrate-extra", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "ats", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "x-ignore-backend-features", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-pm-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "aer", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-flr-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-lnkctl-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-ats-page-aligned", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "page-per-vq", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-deverr-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "virtio-pci-bus-master-bug-migration", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "modern-pio-notify", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "x-disable-pcie", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 3, ++ "name": "vectors", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "ioeventfd", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": "auto", ++ "name": "disable-legacy", ++ "description": "on/off/auto", ++ "type": "OnOffAuto" ++ }, ++ { ++ "default-value": false, ++ "name": "disable-modern", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "indirect_desc", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 800, ++ "name": "yres", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "iommu_platform", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "event_idx", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "edid", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 0, ++ "name": "hostmem", ++ "type": "size" ++ }, ++ { ++ "default-value": false, ++ "name": "x-disable-legacy-check", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "any_layout", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 268435456, ++ "name": "max_hostmem", ++ "type": "size" ++ }, ++ { ++ "default-value": true, ++ "name": "notify_on_empty", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "use-started", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "packed", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "queue_reset", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "use-disabled-flag", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "blob", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 1, ++ "name": "max_outputs", ++ "type": "uint32" ++ }, ++ { ++ "default-value": 1280, ++ "name": "xres", ++ "type": "uint32" ++ }, ++ { ++ "name": "virtio-backend", ++ "type": "child" ++ } ++ ], ++ "id": "libvirt-20" ++} ++ ++{ ++ "execute": "device-list-properties", ++ "arguments": { ++ "typename": "virtio-gpu-device" ++ }, ++ "id": "libvirt-21" ++} ++ ++{ ++ "return": [ ++ { ++ "default-value": true, ++ "name": "queue_reset", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "use-disabled-flag", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "packed", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "iommu_platform", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "event_idx", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "x-disable-legacy-check", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "notify_on_empty", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "any_layout", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "use-started", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "indirect_desc", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 0, ++ "name": "hostmem", ++ "type": "size" ++ }, ++ { ++ "default-value": 1280, ++ "name": "xres", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "blob", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "edid", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 800, ++ "name": "yres", ++ "type": "uint32" ++ }, ++ { ++ "default-value": 1, ++ "name": "max_outputs", ++ "type": "uint32" ++ }, ++ { ++ "default-value": 268435456, ++ "name": "max_hostmem", ++ "type": "size" ++ } ++ ], ++ "id": "libvirt-21" ++} ++ ++{ ++ "execute": "device-list-properties", ++ "arguments": { ++ "typename": "ICH9-LPC" ++ }, ++ "id": "libvirt-22" ++} ++ ++{ ++ "id": "libvirt-22", ++ "error": { ++ "class": "DeviceNotFound", ++ "desc": "Device 'ICH9-LPC' not found" ++ } ++} ++ ++{ ++ "execute": "device-list-properties", ++ "arguments": { ++ "typename": "virtio-balloon-pci" ++ }, ++ "id": "libvirt-23" ++} ++ ++{ ++ "return": [ ++ { ++ "name": "failover_pair_id", ++ "type": "str" ++ }, ++ { ++ "name": "romfile", ++ "type": "str" ++ }, ++ { ++ "default-value": -1, ++ "name": "addr", ++ "description": "Slot and optional function number, example: 06.0 or 06", ++ "type": "int32" ++ }, ++ { ++ "default-value": 4294967295, ++ "name": "romsize", ++ "type": "uint32" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-lnksta-dllla", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 1, ++ "name": "rombar", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "x-pcie-ari-nextfn-1", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-err-unc-mask", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-extcap-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 0, ++ "name": "acpi-index", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "multifunction", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "migrate-extra", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "ats", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "x-ignore-backend-features", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-pm-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "aer", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-flr-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-lnkctl-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-ats-page-aligned", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "page-per-vq", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-deverr-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "virtio-pci-bus-master-bug-migration", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "modern-pio-notify", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "x-disable-pcie", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": "auto", ++ "name": "disable-legacy", ++ "description": "on/off/auto", ++ "type": "OnOffAuto" ++ }, ++ { ++ "default-value": false, ++ "name": "disable-modern", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "free-page-reporting", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "indirect_desc", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "iommu_platform", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "deflate-on-oom", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "use-disabled-flag", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "event_idx", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "page-poison", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "name": "guest-stats-polling-interval", ++ "type": "int" ++ }, ++ { ++ "name": "guest-stats", ++ "type": "guest statistics" ++ }, ++ { ++ "default-value": false, ++ "name": "x-disable-legacy-check", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "any_layout", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "name": "iothread", ++ "type": "link" ++ }, ++ { ++ "default-value": true, ++ "name": "notify_on_empty", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "queue_reset", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "qemu-4-0-config-size", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "packed", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "use-started", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "free-page-hint", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "name": "virtio-backend", ++ "type": "child" ++ } ++ ], ++ "id": "libvirt-23" ++} ++ ++{ ++ "execute": "device-list-properties", ++ "arguments": { ++ "typename": "virtio-balloon-ccw" ++ }, ++ "id": "libvirt-24" ++} ++ ++{ ++ "id": "libvirt-24", ++ "error": { ++ "class": "DeviceNotFound", ++ "desc": "Device 'virtio-balloon-ccw' not found" ++ } ++} ++ ++{ ++ "execute": "device-list-properties", ++ "arguments": { ++ "typename": "virtio-balloon-device" ++ }, ++ "id": "libvirt-25" ++} ++ ++{ ++ "return": [ ++ { ++ "default-value": true, ++ "name": "queue_reset", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "use-disabled-flag", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "packed", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "iommu_platform", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "event_idx", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "x-disable-legacy-check", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "notify_on_empty", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "any_layout", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "use-started", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "indirect_desc", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "name": "iothread", ++ "type": "link" ++ }, ++ { ++ "default-value": false, ++ "name": "deflate-on-oom", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "free-page-hint", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "page-poison", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "qemu-4-0-config-size", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "free-page-reporting", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "name": "guest-stats-polling-interval", ++ "type": "int" ++ }, ++ { ++ "name": "guest-stats", ++ "type": "guest statistics" ++ } ++ ], ++ "id": "libvirt-25" ++} ++ ++{ ++ "execute": "device-list-properties", ++ "arguments": { ++ "typename": "nvdimm" ++ }, ++ "id": "libvirt-26" ++} ++ ++{ ++ "return": [ ++ { ++ "name": "memdev", ++ "type": "link" ++ }, ++ { ++ "default-value": 0, ++ "name": "node", ++ "type": "uint32" ++ }, ++ { ++ "default-value": 0, ++ "name": "addr", ++ "type": "uint64" ++ }, ++ { ++ "default-value": -1, ++ "name": "slot", ++ "type": "int32" ++ }, ++ { ++ "default-value": false, ++ "name": "unarmed", ++ "type": "bool" ++ }, ++ { ++ "name": "uuid", ++ "type": "QemuUUID" ++ }, ++ { ++ "name": "label-size", ++ "type": "int" ++ }, ++ { ++ "name": "size", ++ "type": "uint64" ++ } ++ ], ++ "id": "libvirt-26" ++} ++ ++{ ++ "execute": "device-list-properties", ++ "arguments": { ++ "typename": "pcie-root-port" ++ }, ++ "id": "libvirt-27" ++} ++ ++{ ++ "return": [ ++ { ++ "name": "failover_pair_id", ++ "type": "str" ++ }, ++ { ++ "name": "romfile", ++ "type": "str" ++ }, ++ { ++ "default-value": -1, ++ "name": "addr", ++ "description": "Slot and optional function number, example: 06.0 or 06", ++ "type": "int32" ++ }, ++ { ++ "default-value": 4294967295, ++ "name": "romsize", ++ "type": "uint32" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-lnksta-dllla", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 1, ++ "name": "rombar", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "x-pcie-ari-nextfn-1", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-err-unc-mask", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-extcap-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 0, ++ "name": "acpi-index", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "multifunction", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "x-pci-express-writeable-slt-bug", ++ "type": "bool" ++ }, ++ { ++ "default-value": 0, ++ "name": "port", ++ "type": "uint8" ++ }, ++ { ++ "default-value": 8, ++ "name": "aer_log_max", ++ "type": "uint16" ++ }, ++ { ++ "default-value": false, ++ "name": "x-do-not-expose-native-hotplug-cap", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "hotplug", ++ "type": "bool" ++ }, ++ { ++ "default-value": 0, ++ "name": "slot", ++ "type": "uint16" ++ }, ++ { ++ "default-value": 0, ++ "name": "chassis", ++ "type": "uint8" ++ }, ++ { ++ "default-value": true, ++ "name": "power_controller_present", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "disable-acs", ++ "type": "bool" ++ }, ++ { ++ "default-value": 18446744073709551615, ++ "name": "mem-reserve", ++ "type": "size" ++ }, ++ { ++ "default-value": 18446744073709551615, ++ "name": "pref64-reserve", ++ "type": "size" ++ }, ++ { ++ "default-value": 4294967295, ++ "name": "bus-reserve", ++ "type": "uint32" ++ }, ++ { ++ "default-value": "32", ++ "name": "x-width", ++ "description": "1/2/4/8/12/16/32", ++ "type": "PCIELinkWidth" ++ }, ++ { ++ "default-value": true, ++ "name": "x-migrate-msix", ++ "type": "bool" ++ }, ++ { ++ "default-value": 18446744073709551615, ++ "name": "io-reserve", ++ "type": "size" ++ }, ++ { ++ "default-value": "16", ++ "name": "x-speed", ++ "description": "2_5/5/8/16", ++ "type": "PCIELinkSpeed" ++ }, ++ { ++ "default-value": 18446744073709551615, ++ "name": "pref32-reserve", ++ "type": "size" ++ } ++ ], ++ "id": "libvirt-27" ++} ++ ++{ ++ "execute": "device-list-properties", ++ "arguments": { ++ "typename": "usb-host" ++ }, ++ "id": "libvirt-28" ++} ++ ++{ ++ "return": [ ++ { ++ "name": "pcap", ++ "type": "str" ++ }, ++ { ++ "name": "port", ++ "type": "str" ++ }, ++ { ++ "default-value": true, ++ "name": "msos-desc", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "name": "serial", ++ "type": "str" ++ }, ++ { ++ "default-value": true, ++ "name": "pipeline", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 0, ++ "name": "hostbus", ++ "type": "uint32" ++ }, ++ { ++ "default-value": 4, ++ "name": "isobufs", ++ "type": "uint32" ++ }, ++ { ++ "default-value": 0, ++ "name": "vendorid", ++ "type": "uint32" ++ }, ++ { ++ "default-value": 0, ++ "name": "productid", ++ "type": "uint32" ++ }, ++ { ++ "name": "hostport", ++ "type": "str" ++ }, ++ { ++ "name": "hostdevice", ++ "type": "str" ++ }, ++ { ++ "default-value": 0, ++ "name": "hostaddr", ++ "type": "uint32" ++ }, ++ { ++ "default-value": true, ++ "name": "suppress-remote-wake", ++ "type": "bool" ++ }, ++ { ++ "default-value": 2, ++ "name": "loglevel", ++ "type": "uint32" ++ }, ++ { ++ "default-value": 32, ++ "name": "isobsize", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "guest-resets-all", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "guest-reset", ++ "type": "bool" ++ }, ++ { ++ "name": "bootindex", ++ "type": "int32" ++ }, ++ { ++ "name": "attached", ++ "type": "bool" ++ } ++ ], ++ "id": "libvirt-28" ++} ++ ++{ ++ "execute": "device-list-properties", ++ "arguments": { ++ "typename": "vhost-user-fs-device" ++ }, ++ "id": "libvirt-29" ++} ++ ++{ ++ "return": [ ++ { ++ "default-value": true, ++ "name": "queue_reset", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "use-disabled-flag", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "packed", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "iommu_platform", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "event_idx", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "x-disable-legacy-check", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "notify_on_empty", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "any_layout", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "use-started", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "indirect_desc", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "name": "chardev", ++ "description": "ID of a chardev to use as a backend", ++ "type": "str" ++ }, ++ { ++ "default-value": 128, ++ "name": "queue-size", ++ "type": "uint16" ++ }, ++ { ++ "name": "tag", ++ "type": "str" ++ }, ++ { ++ "default-value": 1, ++ "name": "num-request-queues", ++ "type": "uint16" ++ }, ++ { ++ "name": "bootindex", ++ "type": "int32" ++ } ++ ], ++ "id": "libvirt-29" ++} ++ ++{ ++ "execute": "device-list-properties", ++ "arguments": { ++ "typename": "virtio-iommu-pci" ++ }, ++ "id": "libvirt-30" ++} ++ ++{ ++ "return": [ ++ { ++ "name": "failover_pair_id", ++ "type": "str" ++ }, ++ { ++ "name": "romfile", ++ "type": "str" ++ }, ++ { ++ "default-value": -1, ++ "name": "addr", ++ "description": "Slot and optional function number, example: 06.0 or 06", ++ "type": "int32" ++ }, ++ { ++ "default-value": 4294967295, ++ "name": "romsize", ++ "type": "uint32" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-lnksta-dllla", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 1, ++ "name": "rombar", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "x-pcie-ari-nextfn-1", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-err-unc-mask", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-extcap-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": 0, ++ "name": "acpi-index", ++ "type": "uint32" ++ }, ++ { ++ "default-value": false, ++ "name": "multifunction", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "migrate-extra", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "ats", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "x-ignore-backend-features", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-pm-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "aer", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-flr-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-lnkctl-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-ats-page-aligned", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "page-per-vq", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "x-pcie-deverr-init", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "virtio-pci-bus-master-bug-migration", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "modern-pio-notify", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "x-disable-pcie", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": "auto", ++ "name": "disable-legacy", ++ "description": "on/off/auto", ++ "type": "OnOffAuto" ++ }, ++ { ++ "default-value": false, ++ "name": "disable-modern", ++ "type": "bool" ++ }, ++ { ++ "default-value": [ ++ ], ++ "name": "reserved-regions", ++ "type": "list" ++ }, ++ { ++ "default-value": 0, ++ "name": "class", ++ "type": "uint32" ++ }, ++ { ++ "default-value": true, ++ "name": "use-disabled-flag", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "queue_reset", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "name": "virtio-backend", ++ "type": "child" ++ }, ++ { ++ "default-value": false, ++ "name": "packed", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "iommu_platform", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "event_idx", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "boot-bypass", ++ "type": "bool" ++ }, ++ { ++ "default-value": false, ++ "name": "x-disable-legacy-check", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "notify_on_empty", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "any_layout", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "use-started", ++ "type": "bool" ++ }, ++ { ++ "default-value": true, ++ "name": "indirect_desc", ++ "description": "on/off", ++ "type": "bool" ++ }, ++ { ++ "name": "primary-bus", ++ "type": "link" ++ } ++ ], ++ "id": "libvirt-30" ++} ++ ++{ ++ "execute": "qom-list-properties", ++ "arguments": { ++ "typename": "memory-backend-file" ++ }, ++ "id": "libvirt-31" ++} ++ ++{ ++ "return": [ ++ { ++ "name": "type", ++ "type": "string" ++ }, ++ { ++ "name": "share", ++ "description": "Mark the memory as private to QEMU or shared", ++ "type": "bool" ++ }, ++ { ++ "name": "size", ++ "description": "Size of the memory region (ex: 500M)", ++ "type": "int" ++ }, ++ { ++ "name": "dump", ++ "description": "Set to 'off' to exclude from core dump", ++ "type": "bool" ++ }, ++ { ++ "name": "prealloc-threads", ++ "description": "Number of CPU threads to use for prealloc", ++ "type": "int" ++ }, ++ { ++ "name": "x-use-canonical-path-for-ramblock-id", ++ "type": "bool" ++ }, ++ { ++ "name": "policy", ++ "description": "Set the NUMA policy", ++ "type": "HostMemPolicy" ++ }, ++ { ++ "name": "prealloc-context", ++ "description": "Context to use for creating CPU threads for preallocation", ++ "type": "link" ++ }, ++ { ++ "name": "prealloc", ++ "description": "Preallocate memory", ++ "type": "bool" ++ }, ++ { ++ "name": "reserve", ++ "description": "Reserve swap space (or huge pages) if applicable", ++ "type": "bool" ++ }, ++ { ++ "name": "host-nodes", ++ "description": "Binds memory to the list of NUMA host nodes", ++ "type": "int" ++ }, ++ { ++ "name": "merge", ++ "description": "Mark memory as mergeable", ++ "type": "bool" ++ }, ++ { ++ "name": "readonly", ++ "type": "bool" ++ }, ++ { ++ "name": "align", ++ "type": "int" ++ }, ++ { ++ "name": "offset", ++ "description": "Offset into the target file (ex: 1G)", ++ "type": "int" ++ }, ++ { ++ "name": "mem-path", ++ "type": "string" ++ }, ++ { ++ "name": "rom", ++ "description": "Whether to create Read Only Memory (ROM)", ++ "type": "OnOffAuto" ++ }, ++ { ++ "name": "discard-data", ++ "type": "bool" ++ } ++ ], ++ "id": "libvirt-31" ++} ++ ++{ ++ "execute": "qom-list-properties", ++ "arguments": { ++ "typename": "memory-backend-memfd" ++ }, ++ "id": "libvirt-32" ++} ++ ++{ ++ "return": [ ++ { ++ "name": "type", ++ "type": "string" ++ }, ++ { ++ "name": "share", ++ "description": "Mark the memory as private to QEMU or shared", ++ "type": "bool" ++ }, ++ { ++ "name": "size", ++ "description": "Size of the memory region (ex: 500M)", ++ "type": "int" ++ }, ++ { ++ "name": "dump", ++ "description": "Set to 'off' to exclude from core dump", ++ "type": "bool" ++ }, ++ { ++ "name": "prealloc-threads", ++ "description": "Number of CPU threads to use for prealloc", ++ "type": "int" ++ }, ++ { ++ "name": "x-use-canonical-path-for-ramblock-id", ++ "type": "bool" ++ }, ++ { ++ "name": "policy", ++ "description": "Set the NUMA policy", ++ "type": "HostMemPolicy" ++ }, ++ { ++ "name": "prealloc-context", ++ "description": "Context to use for creating CPU threads for preallocation", ++ "type": "link" ++ }, ++ { ++ "name": "prealloc", ++ "description": "Preallocate memory", ++ "type": "bool" ++ }, ++ { ++ "name": "reserve", ++ "description": "Reserve swap space (or huge pages) if applicable", ++ "type": "bool" ++ }, ++ { ++ "name": "host-nodes", ++ "description": "Binds memory to the list of NUMA host nodes", ++ "type": "int" ++ }, ++ { ++ "name": "merge", ++ "description": "Mark memory as mergeable", ++ "type": "bool" ++ }, ++ { ++ "name": "hugetlb", ++ "description": "Use huge pages", ++ "type": "bool" ++ }, ++ { ++ "name": "seal", ++ "description": "Seal growing & shrinking", ++ "type": "bool" ++ }, ++ { ++ "name": "hugetlbsize", ++ "description": "Huge pages size (ex: 2M, 1G)", ++ "type": "int" ++ } ++ ], ++ "id": "libvirt-32" ++} ++ ++{ ++ "execute": "query-machines", ++ "id": "libvirt-33" ++} ++ ++{ ++ "return": [ ++ { ++ "hotpluggable-cpus": false, ++ "name": "x-remote", ++ "numa-mem-supported": false, ++ "acpi": false, ++ "cpu-max": 1, ++ "deprecated": false ++ }, ++ { ++ "hotpluggable-cpus": false, ++ "name": "virt", ++ "numa-mem-supported": true, ++ "default-cpu-type": "la464-loongarch-cpu", ++ "acpi": true, ++ "is-default": true, ++ "cpu-max": 256, ++ "deprecated": false, ++ "default-ram-id": "loongarch.ram" ++ }, ++ { ++ "hotpluggable-cpus": false, ++ "name": "none", ++ "numa-mem-supported": false, ++ "acpi": false, ++ "cpu-max": 1, ++ "deprecated": false, ++ "default-ram-id": "ram" ++ } ++ ], ++ "id": "libvirt-33" ++} ++ ++{ ++ "execute": "qom-list-properties", ++ "arguments": { ++ "typename": "virt-machine" ++ }, ++ "id": "libvirt-34" ++} ++ ++{ ++ "return": [ ++ { ++ "name": "type", ++ "type": "string" ++ }, ++ { ++ "name": "kernel", ++ "description": "Linux kernel image file", ++ "type": "string" ++ }, ++ { ++ "name": "dt-compatible", ++ "description": "Overrides the \"compatible\" property of the dt root node", ++ "type": "string" ++ }, ++ { ++ "name": "boot", ++ "description": "Boot configuration", ++ "type": "BootConfiguration" ++ }, ++ { ++ "name": "memory", ++ "description": "Memory size configuration", ++ "type": "MemorySizeConfiguration" ++ }, ++ { ++ "name": "initrd", ++ "description": "Linux initial ramdisk file", ++ "type": "string" ++ }, ++ { ++ "name": "confidential-guest-support", ++ "description": "Set confidential guest scheme to support", ++ "type": "link" ++ }, ++ { ++ "name": "graphics", ++ "description": "Set on/off to enable/disable graphics emulation", ++ "type": "bool" ++ }, ++ { ++ "name": "usb", ++ "description": "Set on/off to enable/disable usb", ++ "type": "bool" ++ }, ++ { ++ "name": "firmware", ++ "description": "Firmware image", ++ "type": "string" ++ }, ++ { ++ "name": "memory-encryption", ++ "description": "Set memory encryption object to use", ++ "type": "string" ++ }, ++ { ++ "name": "smp", ++ "description": "CPU topology", ++ "type": "SMPConfiguration" ++ }, ++ { ++ "name": "dump-guest-core", ++ "description": "Include guest memory in a core dump", ++ "type": "bool" ++ }, ++ { ++ "name": "phandle-start", ++ "description": "The first phandle ID we may generate dynamically", ++ "type": "int" ++ }, ++ { ++ "name": "dumpdtb", ++ "description": "Dump current dtb to a file and quit", ++ "type": "string" ++ }, ++ { ++ "name": "memory-backend", ++ "description": "Set RAM backendValid value is ID of hostmem based backend", ++ "type": "link" ++ }, ++ { ++ "name": "dtb", ++ "description": "Linux kernel device tree file", ++ "type": "string" ++ }, ++ { ++ "name": "mem-merge", ++ "description": "Enable/disable memory merge support", ++ "type": "bool" ++ }, ++ { ++ "name": "append", ++ "description": "Linux kernel command line", ++ "type": "string" ++ }, ++ { ++ "name": "suppress-vmdesc", ++ "description": "Set on to disable self-describing migration", ++ "type": "bool" ++ }, ++ { ++ "name": "acpi", ++ "description": "Enable ACPI", ++ "type": "OnOffAuto" ++ }, ++ { ++ "name": "virt.flash", ++ "type": "child" ++ }, ++ { ++ "name": "hmat", ++ "description": "Set on/off to enable/disable ACPI Heterogeneous Memory Attribute Table (HMAT)", ++ "type": "bool" ++ }, ++ { ++ "name": "peripheral-anon", ++ "type": "child" ++ }, ++ { ++ "name": "peripheral", ++ "type": "child" ++ }, ++ { ++ "name": "pflash", ++ "description": "Node name or ID of a block device to use as a backend", ++ "type": "str" ++ } ++ ], ++ "id": "libvirt-34" ++} ++ ++{ ++ "execute": "qom-list-properties", ++ "arguments": { ++ "typename": "none-machine" ++ }, ++ "id": "libvirt-35" ++} ++ ++{ ++ "return": [ ++ { ++ "name": "type", ++ "type": "string" ++ }, ++ { ++ "name": "kernel", ++ "description": "Linux kernel image file", ++ "type": "string" ++ }, ++ { ++ "name": "dt-compatible", ++ "description": "Overrides the \"compatible\" property of the dt root node", ++ "type": "string" ++ }, ++ { ++ "name": "boot", ++ "description": "Boot configuration", ++ "type": "BootConfiguration" ++ }, ++ { ++ "name": "memory", ++ "description": "Memory size configuration", ++ "type": "MemorySizeConfiguration" ++ }, ++ { ++ "name": "initrd", ++ "description": "Linux initial ramdisk file", ++ "type": "string" ++ }, ++ { ++ "name": "confidential-guest-support", ++ "description": "Set confidential guest scheme to support", ++ "type": "link" ++ }, ++ { ++ "name": "graphics", ++ "description": "Set on/off to enable/disable graphics emulation", ++ "type": "bool" ++ }, ++ { ++ "name": "usb", ++ "description": "Set on/off to enable/disable usb", ++ "type": "bool" ++ }, ++ { ++ "name": "firmware", ++ "description": "Firmware image", ++ "type": "string" ++ }, ++ { ++ "name": "memory-encryption", ++ "description": "Set memory encryption object to use", ++ "type": "string" ++ }, ++ { ++ "name": "smp", ++ "description": "CPU topology", ++ "type": "SMPConfiguration" ++ }, ++ { ++ "name": "dump-guest-core", ++ "description": "Include guest memory in a core dump", ++ "type": "bool" ++ }, ++ { ++ "name": "phandle-start", ++ "description": "The first phandle ID we may generate dynamically", ++ "type": "int" ++ }, ++ { ++ "name": "dumpdtb", ++ "description": "Dump current dtb to a file and quit", ++ "type": "string" ++ }, ++ { ++ "name": "memory-backend", ++ "description": "Set RAM backendValid value is ID of hostmem based backend", ++ "type": "link" ++ }, ++ { ++ "name": "dtb", ++ "description": "Linux kernel device tree file", ++ "type": "string" ++ }, ++ { ++ "name": "mem-merge", ++ "description": "Enable/disable memory merge support", ++ "type": "bool" ++ }, ++ { ++ "name": "append", ++ "description": "Linux kernel command line", ++ "type": "string" ++ }, ++ { ++ "name": "suppress-vmdesc", ++ "description": "Set on to disable self-describing migration", ++ "type": "bool" ++ }, ++ { ++ "name": "peripheral-anon", ++ "type": "child" ++ }, ++ { ++ "name": "peripheral", ++ "type": "child" ++ } ++ ], ++ "id": "libvirt-35" ++} ++ ++{ ++ "execute": "query-cpu-definitions", ++ "id": "libvirt-36" ++} ++ ++{ ++ "return": [ ++ { ++ "name": "la132", ++ "typename": "la132-loongarch-cpu", ++ "static": false, ++ "deprecated": false ++ }, ++ { ++ "name": "la464", ++ "typename": "la464-loongarch-cpu", ++ "static": false, ++ "deprecated": false ++ }, ++ { ++ "name": "max", ++ "typename": "max-loongarch-cpu", ++ "static": false, ++ "deprecated": false ++ } ++ ], ++ "id": "libvirt-36" ++} ++ ++{ ++ "execute": "query-tpm-models", ++ "id": "libvirt-37" ++} ++ ++{ ++ "return": [ ++ ], ++ "id": "libvirt-37" ++} ++ ++{ ++ "execute": "query-tpm-types", ++ "id": "libvirt-38" ++} ++ ++{ ++ "return": [ ++ ], ++ "id": "libvirt-38" ++} ++ ++{ ++ "execute": "query-command-line-options", ++ "id": "libvirt-39" ++} ++ ++{ ++ "return": [ ++ { ++ "parameters": [ ++ { ++ "name": "type", ++ "help": "machine type", ++ "type": "string" ++ }, ++ { ++ "name": "auto-shutdown", ++ "type": "boolean" ++ }, ++ { ++ "name": "vfio-user", ++ "type": "boolean" ++ }, ++ { ++ "name": "acpi", ++ "help": "Enable ACPI", ++ "type": "boolean" ++ }, ++ { ++ "name": "kernel", ++ "help": "Linux kernel image file", ++ "type": "string" ++ }, ++ { ++ "name": "dt-compatible", ++ "help": "Overrides the \"compatible\" property of the dt root node", ++ "type": "string" ++ }, ++ { ++ "name": "boot", ++ "help": "Boot configuration", ++ "type": "string" ++ }, ++ { ++ "name": "memory", ++ "help": "Memory size configuration", ++ "type": "string" ++ }, ++ { ++ "name": "initrd", ++ "help": "Linux initial ramdisk file", ++ "type": "string" ++ }, ++ { ++ "name": "confidential-guest-support", ++ "help": "Set confidential guest scheme to support", ++ "type": "string" ++ }, ++ { ++ "name": "graphics", ++ "help": "Set on/off to enable/disable graphics emulation", ++ "type": "boolean" ++ }, ++ { ++ "name": "usb", ++ "help": "Set on/off to enable/disable usb", ++ "type": "boolean" ++ }, ++ { ++ "name": "firmware", ++ "help": "Firmware image", ++ "type": "string" ++ }, ++ { ++ "name": "memory-encryption", ++ "help": "Set memory encryption object to use", ++ "type": "string" ++ }, ++ { ++ "name": "smp", ++ "help": "CPU topology", ++ "type": "string" ++ }, ++ { ++ "name": "dump-guest-core", ++ "help": "Include guest memory in a core dump", ++ "type": "boolean" ++ }, ++ { ++ "name": "phandle-start", ++ "help": "The first phandle ID we may generate dynamically", ++ "type": "number" ++ }, ++ { ++ "name": "dumpdtb", ++ "help": "Dump current dtb to a file and quit", ++ "type": "string" ++ }, ++ { ++ "name": "memory-backend", ++ "help": "Set RAM backendValid value is ID of hostmem based backend", ++ "type": "string" ++ }, ++ { ++ "name": "dtb", ++ "help": "Linux kernel device tree file", ++ "type": "string" ++ }, ++ { ++ "name": "mem-merge", ++ "help": "Enable/disable memory merge support", ++ "type": "boolean" ++ }, ++ { ++ "name": "append", ++ "help": "Linux kernel command line", ++ "type": "string" ++ }, ++ { ++ "name": "suppress-vmdesc", ++ "help": "Set on to disable self-describing migration", ++ "type": "boolean" ++ } ++ ], ++ "option": "machine" ++ }, ++ { ++ "parameters": [ ++ { ++ "name": "head", ++ "type": "number" ++ }, ++ { ++ "name": "display", ++ "type": "string" ++ }, ++ { ++ "name": "seamless-migration", ++ "type": "boolean" ++ }, ++ { ++ "name": "playback-compression", ++ "type": "boolean" ++ }, ++ { ++ "name": "agent-mouse", ++ "type": "boolean" ++ }, ++ { ++ "name": "streaming-video", ++ "type": "string" ++ }, ++ { ++ "name": "zlib-glz-wan-compression", ++ "type": "string" ++ }, ++ { ++ "name": "jpeg-wan-compression", ++ "type": "string" ++ }, ++ { ++ "name": "image-compression", ++ "type": "string" ++ }, ++ { ++ "name": "plaintext-channel", ++ "type": "string" ++ }, ++ { ++ "name": "tls-channel", ++ "type": "string" ++ }, ++ { ++ "name": "tls-ciphers", ++ "type": "string" ++ }, ++ { ++ "name": "x509-dh-key-file", ++ "type": "string" ++ }, ++ { ++ "name": "x509-cacert-file", ++ "type": "string" ++ }, ++ { ++ "name": "x509-cert-file", ++ "type": "string" ++ }, ++ { ++ "name": "x509-key-password", ++ "type": "string" ++ }, ++ { ++ "name": "x509-key-file", ++ "type": "string" ++ }, ++ { ++ "name": "x509-dir", ++ "type": "string" ++ }, ++ { ++ "name": "sasl", ++ "type": "boolean" ++ }, ++ { ++ "name": "disable-agent-file-xfer", ++ "type": "boolean" ++ }, ++ { ++ "name": "disable-copy-paste", ++ "type": "boolean" ++ }, ++ { ++ "name": "disable-ticketing", ++ "type": "boolean" ++ }, ++ { ++ "name": "password-secret", ++ "type": "string" ++ }, ++ { ++ "name": "unix", ++ "type": "boolean" ++ }, ++ { ++ "name": "ipv6", ++ "type": "boolean" ++ }, ++ { ++ "name": "ipv4", ++ "type": "boolean" ++ }, ++ { ++ "name": "addr", ++ "type": "string" ++ }, ++ { ++ "name": "tls-port", ++ "type": "number" ++ }, ++ { ++ "name": "port", ++ "type": "number" ++ } ++ ], ++ "option": "spice" ++ }, ++ { ++ "parameters": [ ++ { ++ "name": "resourcecontrol", ++ "type": "string" ++ }, ++ { ++ "name": "spawn", ++ "type": "string" ++ }, ++ { ++ "name": "elevateprivileges", ++ "type": "string" ++ }, ++ { ++ "name": "obsolete", ++ "type": "string" ++ }, ++ { ++ "name": "enable", ++ "type": "boolean" ++ } ++ ], ++ "option": "sandbox" ++ }, ++ { ++ "parameters": [ ++ { ++ "name": "dmode", ++ "type": "number" ++ }, ++ { ++ "name": "fmode", ++ "type": "number" ++ }, ++ { ++ "name": "sock_fd", ++ "type": "number" ++ }, ++ { ++ "name": "socket", ++ "type": "string" ++ }, ++ { ++ "name": "multidevs", ++ "type": "string" ++ }, ++ { ++ "name": "readonly", ++ "type": "boolean" ++ }, ++ { ++ "name": "writeout", ++ "type": "string" ++ }, ++ { ++ "name": "security_model", ++ "type": "string" ++ }, ++ { ++ "name": "mount_tag", ++ "type": "string" ++ }, ++ { ++ "name": "path", ++ "type": "string" ++ }, ++ { ++ "name": "fsdriver", ++ "type": "string" ++ } ++ ], ++ "option": "virtfs" ++ }, ++ { ++ "parameters": [ ++ { ++ "name": "throttling.iops-size", ++ "help": "when limiting by iops max size of an I/O in bytes", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.bps-write-max-length", ++ "help": "length of the bps-write-max burst period, in seconds", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.bps-read-max-length", ++ "help": "length of the bps-read-max burst period, in seconds", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.bps-total-max-length", ++ "help": "length of the bps-total-max burst period, in seconds", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.iops-write-max-length", ++ "help": "length of the iops-write-max burst period, in seconds", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.iops-read-max-length", ++ "help": "length of the iops-read-max burst period, in seconds", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.iops-total-max-length", ++ "help": "length of the iops-total-max burst period, in seconds", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.bps-write-max", ++ "help": "total bytes write burst", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.bps-read-max", ++ "help": "total bytes read burst", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.bps-total-max", ++ "help": "total bytes burst", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.iops-write-max", ++ "help": "I/O operations write burst", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.iops-read-max", ++ "help": "I/O operations read burst", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.iops-total-max", ++ "help": "I/O operations burst", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.bps-write", ++ "help": "limit write bytes per second", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.bps-read", ++ "help": "limit read bytes per second", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.bps-total", ++ "help": "limit total bytes per second", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.iops-write", ++ "help": "limit write operations per second", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.iops-read", ++ "help": "limit read operations per second", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.iops-total", ++ "help": "limit total I/O operations per second", ++ "type": "number" ++ }, ++ { ++ "name": "dmode", ++ "type": "number" ++ }, ++ { ++ "name": "fmode", ++ "type": "number" ++ }, ++ { ++ "name": "sock_fd", ++ "type": "number" ++ }, ++ { ++ "name": "socket", ++ "type": "string" ++ }, ++ { ++ "name": "multidevs", ++ "type": "string" ++ }, ++ { ++ "name": "readonly", ++ "type": "boolean" ++ }, ++ { ++ "name": "writeout", ++ "type": "string" ++ }, ++ { ++ "name": "security_model", ++ "type": "string" ++ }, ++ { ++ "name": "path", ++ "type": "string" ++ }, ++ { ++ "name": "fsdriver", ++ "type": "string" ++ } ++ ], ++ "option": "fsdev" ++ }, ++ { ++ "parameters": [ ++ ], ++ "option": "smbios" ++ }, ++ { ++ "parameters": [ ++ ], ++ "option": "acpi" ++ }, ++ { ++ "parameters": [ ++ { ++ "name": "power-control", ++ "type": "boolean" ++ }, ++ { ++ "name": "audiodev", ++ "type": "string" ++ }, ++ { ++ "name": "non-adaptive", ++ "type": "boolean" ++ }, ++ { ++ "name": "lossy", ++ "type": "boolean" ++ }, ++ { ++ "name": "sasl-authz", ++ "type": "string" ++ }, ++ { ++ "name": "tls-authz", ++ "type": "string" ++ }, ++ { ++ "name": "sasl", ++ "type": "boolean" ++ }, ++ { ++ "name": "key-delay-ms", ++ "type": "number" ++ }, ++ { ++ "name": "lock-key-sync", ++ "type": "boolean" ++ }, ++ { ++ "name": "reverse", ++ "type": "boolean" ++ }, ++ { ++ "name": "password-secret", ++ "type": "string" ++ }, ++ { ++ "name": "password", ++ "type": "boolean" ++ }, ++ { ++ "name": "ipv6", ++ "type": "boolean" ++ }, ++ { ++ "name": "ipv4", ++ "type": "boolean" ++ }, ++ { ++ "name": "to", ++ "type": "number" ++ }, ++ { ++ "name": "connections", ++ "type": "number" ++ }, ++ { ++ "name": "head", ++ "type": "number" ++ }, ++ { ++ "name": "display", ++ "type": "string" ++ }, ++ { ++ "name": "share", ++ "type": "string" ++ }, ++ { ++ "name": "tls-creds", ++ "type": "string" ++ }, ++ { ++ "name": "websocket", ++ "type": "string" ++ }, ++ { ++ "name": "vnc", ++ "type": "string" ++ } ++ ], ++ "option": "vnc" ++ }, ++ { ++ "parameters": [ ++ { ++ "name": "chroot", ++ "type": "string" ++ }, ++ { ++ "name": "async-teardown", ++ "type": "boolean" ++ } ++ ], ++ "option": "run-with" ++ }, ++ { ++ "parameters": [ ++ { ++ "name": "watchdog", ++ "type": "string" ++ }, ++ { ++ "name": "panic", ++ "type": "string" ++ }, ++ { ++ "name": "reboot", ++ "type": "string" ++ }, ++ { ++ "name": "shutdown", ++ "type": "string" ++ } ++ ], ++ "option": "action" ++ }, ++ { ++ "parameters": [ ++ { ++ "name": "gen_id", ++ "help": "Sets id of the object generating the fw_cfg blob to be inserted", ++ "type": "string" ++ }, ++ { ++ "name": "string", ++ "help": "Sets content of the blob to be inserted from a string", ++ "type": "string" ++ }, ++ { ++ "name": "file", ++ "help": "Sets the name of the file from which the fw_cfg blob will be loaded", ++ "type": "string" ++ }, ++ { ++ "name": "name", ++ "help": "Sets the fw_cfg name of the blob to be inserted", ++ "type": "string" ++ } ++ ], ++ "option": "fw_cfg" ++ }, ++ { ++ "parameters": [ ++ ], ++ "option": "" ++ }, ++ { ++ "parameters": [ ++ { ++ "name": "rrsnapshot", ++ "type": "string" ++ }, ++ { ++ "name": "rrfile", ++ "type": "string" ++ }, ++ { ++ "name": "rr", ++ "type": "string" ++ }, ++ { ++ "name": "sleep", ++ "type": "boolean" ++ }, ++ { ++ "name": "align", ++ "type": "boolean" ++ }, ++ { ++ "name": "shift", ++ "type": "string" ++ } ++ ], ++ "option": "icount" ++ }, ++ { ++ "parameters": [ ++ ], ++ "option": "numa" ++ }, ++ { ++ "parameters": [ ++ { ++ "name": "debug-threads", ++ "help": "When enabled, name the individual threads; defaults off.\nNOTE: The thread names are for debugging and not a\nstable API.", ++ "type": "boolean" ++ }, ++ { ++ "name": "process", ++ "help": "Sets the name of the QEMU process, as shown in top etc", ++ "type": "string" ++ }, ++ { ++ "name": "guest", ++ "help": "Sets the name of the guest.\nThis name will be displayed in the SDL window caption.\nThe name will also be used for the VNC server", ++ "type": "string" ++ } ++ ], ++ "option": "name" ++ }, ++ { ++ "parameters": [ ++ { ++ "name": "guest-name", ++ "help": "Prepends guest name for error messages but only if -name guest is set otherwise option is ignored\n", ++ "type": "boolean" ++ }, ++ { ++ "name": "timestamp", ++ "type": "boolean" ++ } ++ ], ++ "option": "msg" ++ }, ++ { ++ "parameters": [ ++ { ++ "name": "cpu-pm", ++ "type": "boolean" ++ }, ++ { ++ "name": "mem-lock", ++ "type": "boolean" ++ } ++ ], ++ "option": "overcommit" ++ }, ++ { ++ "parameters": [ ++ ], ++ "option": "tpmdev" ++ }, ++ { ++ "parameters": [ ++ ], ++ "option": "object" ++ }, ++ { ++ "parameters": [ ++ { ++ "name": "opaque", ++ "help": "free-form string used to describe fd", ++ "type": "string" ++ }, ++ { ++ "name": "set", ++ "help": "ID of the fd set to add fd to", ++ "type": "number" ++ }, ++ { ++ "name": "fd", ++ "help": "file descriptor of which a duplicate is added to fd set", ++ "type": "number" ++ } ++ ], ++ "option": "add-fd" ++ }, ++ { ++ "parameters": [ ++ { ++ "name": "strict", ++ "type": "boolean" ++ }, ++ { ++ "name": "reboot-timeout", ++ "type": "number" ++ }, ++ { ++ "name": "splash-time", ++ "type": "number" ++ }, ++ { ++ "name": "splash", ++ "type": "string" ++ }, ++ { ++ "name": "menu", ++ "type": "boolean" ++ }, ++ { ++ "name": "once", ++ "type": "string" ++ }, ++ { ++ "name": "order", ++ "type": "string" ++ } ++ ], ++ "option": "boot-opts" ++ }, ++ { ++ "parameters": [ ++ { ++ "name": "maxcpus", ++ "type": "number" ++ }, ++ { ++ "name": "threads", ++ "type": "number" ++ }, ++ { ++ "name": "cores", ++ "type": "number" ++ }, ++ { ++ "name": "clusters", ++ "type": "number" ++ }, ++ { ++ "name": "dies", ++ "type": "number" ++ }, ++ { ++ "name": "sockets", ++ "type": "number" ++ }, ++ { ++ "name": "books", ++ "type": "number" ++ }, ++ { ++ "name": "drawers", ++ "type": "number" ++ }, ++ { ++ "name": "cpus", ++ "type": "number" ++ } ++ ], ++ "option": "smp-opts" ++ }, ++ { ++ "parameters": [ ++ { ++ "name": "maxmem", ++ "type": "size" ++ }, ++ { ++ "name": "slots", ++ "type": "number" ++ }, ++ { ++ "name": "size", ++ "type": "size" ++ } ++ ], ++ "option": "memory" ++ }, ++ { ++ "parameters": [ ++ ], ++ "option": "accel" ++ }, ++ { ++ "parameters": [ ++ { ++ "name": "romfile", ++ "type": "string" ++ }, ++ { ++ "name": "bootindex", ++ "type": "number" ++ } ++ ], ++ "option": "option-rom" ++ }, ++ { ++ "parameters": [ ++ ], ++ "option": "plugin" ++ }, ++ { ++ "parameters": [ ++ { ++ "name": "file", ++ "type": "string" ++ }, ++ { ++ "name": "events", ++ "type": "string" ++ }, ++ { ++ "name": "enable", ++ "type": "string" ++ } ++ ], ++ "option": "trace" ++ }, ++ { ++ "parameters": [ ++ { ++ "name": "pretty", ++ "type": "boolean" ++ }, ++ { ++ "name": "chardev", ++ "type": "string" ++ }, ++ { ++ "name": "mode", ++ "type": "string" ++ } ++ ], ++ "option": "mon" ++ }, ++ { ++ "parameters": [ ++ { ++ "name": "value", ++ "type": "string" ++ }, ++ { ++ "name": "property", ++ "type": "string" ++ }, ++ { ++ "name": "driver", ++ "type": "string" ++ } ++ ], ++ "option": "global" ++ }, ++ { ++ "parameters": [ ++ { ++ "name": "driftfix", ++ "type": "string" ++ }, ++ { ++ "name": "clock", ++ "type": "string" ++ }, ++ { ++ "name": "base", ++ "type": "string" ++ } ++ ], ++ "option": "rtc" ++ }, ++ { ++ "parameters": [ ++ ], ++ "option": "net" ++ }, ++ { ++ "parameters": [ ++ ], ++ "option": "nic" ++ }, ++ { ++ "parameters": [ ++ ], ++ "option": "netdev" ++ }, ++ { ++ "parameters": [ ++ ], ++ "option": "device" ++ }, ++ { ++ "parameters": [ ++ { ++ "name": "abstract", ++ "type": "boolean" ++ }, ++ { ++ "name": "tight", ++ "default": "on", ++ "type": "boolean" ++ }, ++ { ++ "name": "clipboard", ++ "type": "boolean" ++ }, ++ { ++ "name": "mouse", ++ "type": "boolean" ++ }, ++ { ++ "name": "logappend", ++ "type": "boolean" ++ }, ++ { ++ "name": "logfile", ++ "type": "string" ++ }, ++ { ++ "name": "append", ++ "type": "boolean" ++ }, ++ { ++ "name": "chardev", ++ "type": "string" ++ }, ++ { ++ "name": "size", ++ "type": "size" ++ }, ++ { ++ "name": "debug", ++ "type": "number" ++ }, ++ { ++ "name": "name", ++ "type": "string" ++ }, ++ { ++ "name": "signal", ++ "type": "boolean" ++ }, ++ { ++ "name": "mux", ++ "type": "boolean" ++ }, ++ { ++ "name": "rows", ++ "type": "number" ++ }, ++ { ++ "name": "cols", ++ "type": "number" ++ }, ++ { ++ "name": "height", ++ "type": "number" ++ }, ++ { ++ "name": "width", ++ "type": "number" ++ }, ++ { ++ "name": "websocket", ++ "type": "boolean" ++ }, ++ { ++ "name": "tls-authz", ++ "type": "string" ++ }, ++ { ++ "name": "tls-creds", ++ "type": "string" ++ }, ++ { ++ "name": "tn3270", ++ "type": "boolean" ++ }, ++ { ++ "name": "telnet", ++ "type": "boolean" ++ }, ++ { ++ "name": "reconnect", ++ "type": "number" ++ }, ++ { ++ "name": "nodelay", ++ "type": "boolean" ++ }, ++ { ++ "name": "delay", ++ "type": "boolean" ++ }, ++ { ++ "name": "server", ++ "type": "boolean" ++ }, ++ { ++ "name": "wait", ++ "type": "boolean" ++ }, ++ { ++ "name": "ipv6", ++ "type": "boolean" ++ }, ++ { ++ "name": "ipv4", ++ "type": "boolean" ++ }, ++ { ++ "name": "to", ++ "type": "number" ++ }, ++ { ++ "name": "localport", ++ "type": "string" ++ }, ++ { ++ "name": "localaddr", ++ "type": "string" ++ }, ++ { ++ "name": "fd", ++ "type": "string" ++ }, ++ { ++ "name": "port", ++ "type": "string" ++ }, ++ { ++ "name": "host", ++ "type": "string" ++ }, ++ { ++ "name": "input-path", ++ "type": "string" ++ }, ++ { ++ "name": "path", ++ "type": "string" ++ }, ++ { ++ "name": "backend", ++ "type": "string" ++ } ++ ], ++ "option": "chardev" ++ }, ++ { ++ "parameters": [ ++ { ++ "name": "copy-on-read", ++ "help": "copy read data from backing file into image file", ++ "type": "boolean" ++ }, ++ { ++ "name": "werror", ++ "help": "write error action", ++ "type": "string" ++ }, ++ { ++ "name": "rerror", ++ "help": "read error action", ++ "type": "string" ++ }, ++ { ++ "name": "read-only", ++ "help": "open drive file as read-only", ++ "type": "boolean" ++ }, ++ { ++ "name": "file", ++ "help": "file name", ++ "type": "string" ++ }, ++ { ++ "name": "if", ++ "help": "interface (ide, scsi, sd, mtd, floppy, pflash, virtio)", ++ "type": "string" ++ }, ++ { ++ "name": "media", ++ "help": "media type (disk, cdrom)", ++ "type": "string" ++ }, ++ { ++ "name": "index", ++ "help": "index number", ++ "type": "number" ++ }, ++ { ++ "name": "unit", ++ "help": "unit number (i.e. lun for scsi)", ++ "type": "number" ++ }, ++ { ++ "name": "bus", ++ "help": "bus number", ++ "type": "number" ++ }, ++ { ++ "name": "stats-account-failed", ++ "help": "whether to account for failed I/O operations in the statistics", ++ "type": "boolean" ++ }, ++ { ++ "name": "stats-account-invalid", ++ "help": "whether to account for invalid I/O operations in the statistics", ++ "type": "boolean" ++ }, ++ { ++ "name": "detect-zeroes", ++ "help": "try to optimize zero writes (off, on, unmap)", ++ "type": "string" ++ }, ++ { ++ "name": "throttling.group", ++ "help": "name of the block throttling group", ++ "type": "string" ++ }, ++ { ++ "name": "throttling.iops-size", ++ "help": "when limiting by iops max size of an I/O in bytes", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.bps-write-max-length", ++ "help": "length of the bps-write-max burst period, in seconds", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.bps-read-max-length", ++ "help": "length of the bps-read-max burst period, in seconds", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.bps-total-max-length", ++ "help": "length of the bps-total-max burst period, in seconds", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.iops-write-max-length", ++ "help": "length of the iops-write-max burst period, in seconds", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.iops-read-max-length", ++ "help": "length of the iops-read-max burst period, in seconds", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.iops-total-max-length", ++ "help": "length of the iops-total-max burst period, in seconds", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.bps-write-max", ++ "help": "total bytes write burst", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.bps-read-max", ++ "help": "total bytes read burst", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.bps-total-max", ++ "help": "total bytes burst", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.iops-write-max", ++ "help": "I/O operations write burst", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.iops-read-max", ++ "help": "I/O operations read burst", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.iops-total-max", ++ "help": "I/O operations burst", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.bps-write", ++ "help": "limit write bytes per second", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.bps-read", ++ "help": "limit read bytes per second", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.bps-total", ++ "help": "limit total bytes per second", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.iops-write", ++ "help": "limit write operations per second", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.iops-read", ++ "help": "limit read operations per second", ++ "type": "number" ++ }, ++ { ++ "name": "throttling.iops-total", ++ "help": "limit total I/O operations per second", ++ "type": "number" ++ }, ++ { ++ "name": "werror", ++ "help": "write error action", ++ "type": "string" ++ }, ++ { ++ "name": "format", ++ "help": "disk format (raw, qcow2, ...)", ++ "type": "string" ++ }, ++ { ++ "name": "cache.writeback", ++ "help": "Enable writeback mode", ++ "type": "boolean" ++ }, ++ { ++ "name": "aio", ++ "help": "host AIO implementation (threads, native, io_uring)", ++ "type": "string" ++ }, ++ { ++ "name": "snapshot", ++ "help": "enable/disable snapshot mode", ++ "type": "boolean" ++ }, ++ { ++ "name": "force-share", ++ "help": "always accept other writers (default: off)", ++ "type": "boolean" ++ }, ++ { ++ "name": "discard", ++ "help": "discard operation (ignore/off, unmap/on)", ++ "type": "string" ++ }, ++ { ++ "name": "auto-read-only", ++ "help": "Node can become read-only if opening read-write fails", ++ "type": "boolean" ++ }, ++ { ++ "name": "cache.no-flush", ++ "help": "Ignore flush requests", ++ "type": "boolean" ++ }, ++ { ++ "name": "cache.direct", ++ "help": "Bypass software writeback cache on the host", ++ "type": "boolean" ++ }, ++ { ++ "name": "driver", ++ "help": "Block driver to use for the node", ++ "type": "string" ++ }, ++ { ++ "name": "node-name", ++ "help": "Node name of the block device node", ++ "type": "string" ++ } ++ ], ++ "option": "drive" ++ } ++ ], ++ "id": "libvirt-39" ++} ++ ++{ ++ "execute": "query-migrate-capabilities", ++ "id": "libvirt-40" ++} ++ ++{ ++ "return": [ ++ { ++ "state": false, ++ "capability": "xbzrle" ++ }, ++ { ++ "state": false, ++ "capability": "rdma-pin-all" ++ }, ++ { ++ "state": false, ++ "capability": "auto-converge" ++ }, ++ { ++ "state": false, ++ "capability": "zero-blocks" ++ }, ++ { ++ "state": false, ++ "capability": "compress" ++ }, ++ { ++ "state": false, ++ "capability": "events" ++ }, ++ { ++ "state": false, ++ "capability": "postcopy-ram" ++ }, ++ { ++ "state": false, ++ "capability": "x-colo" ++ }, ++ { ++ "state": false, ++ "capability": "release-ram" ++ }, ++ { ++ "state": false, ++ "capability": "block" ++ }, ++ { ++ "state": false, ++ "capability": "return-path" ++ }, ++ { ++ "state": false, ++ "capability": "pause-before-switchover" ++ }, ++ { ++ "state": false, ++ "capability": "multifd" ++ }, ++ { ++ "state": false, ++ "capability": "dirty-bitmaps" ++ }, ++ { ++ "state": false, ++ "capability": "postcopy-blocktime" ++ }, ++ { ++ "state": false, ++ "capability": "late-block-activate" ++ }, ++ { ++ "state": false, ++ "capability": "x-ignore-shared" ++ }, ++ { ++ "state": false, ++ "capability": "validate-uuid" ++ }, ++ { ++ "state": false, ++ "capability": "background-snapshot" ++ }, ++ { ++ "state": false, ++ "capability": "zero-copy-send" ++ }, ++ { ++ "state": false, ++ "capability": "postcopy-preempt" ++ }, ++ { ++ "state": false, ++ "capability": "switchover-ack" ++ }, ++ { ++ "state": false, ++ "capability": "dirty-limit" ++ } ++ ], ++ "id": "libvirt-40" ++} ++ ++{ ++ "execute": "query-cpu-model-expansion", ++ "arguments": { ++ "type": "static", ++ "model": { ++ "name": "host" ++ } ++ }, ++ "id": "libvirt-41" ++} ++ ++{ ++ "id": "libvirt-41", ++ "error": { ++ "class": "GenericError", ++ "desc": "The CPU type 'host' is not a recognized LoongArch CPU type" ++ } ++} ++ ++{ ++ "execute": "qmp_capabilities", ++ "id": "libvirt-1" ++} ++ ++{ ++ "return": { ++ }, ++ "id": "libvirt-1" ++} ++ ++{ ++ "execute": "query-cpu-definitions", ++ "id": "libvirt-2" ++} ++ ++{ ++ "return": [ ++ { ++ "name": "la132", ++ "typename": "la132-loongarch-cpu", ++ "static": false, ++ "deprecated": false ++ }, ++ { ++ "name": "la464", ++ "typename": "la464-loongarch-cpu", ++ "static": false, ++ "deprecated": false ++ }, ++ { ++ "name": "max", ++ "typename": "max-loongarch-cpu", ++ "static": false, ++ "deprecated": false ++ } ++ ], ++ "id": "libvirt-2" ++} ++ ++{ ++ "execute": "query-cpu-model-expansion", ++ "arguments": { ++ "type": "static", ++ "model": { ++ "name": "max" ++ } ++ }, ++ "id": "libvirt-3" ++} ++ ++{ ++ "return": { ++ "model": { ++ "name": "max", ++ "props": { ++ "lasx": true, ++ "lsx": true ++ } ++ } ++ }, ++ "id": "libvirt-3" ++} ++ ++{ ++ "execute": "query-machines", ++ "id": "libvirt-4" ++} ++ ++{ ++ "return": [ ++ { ++ "hotpluggable-cpus": false, ++ "name": "x-remote", ++ "numa-mem-supported": false, ++ "acpi": false, ++ "cpu-max": 1, ++ "deprecated": false ++ }, ++ { ++ "hotpluggable-cpus": false, ++ "name": "virt", ++ "numa-mem-supported": true, ++ "default-cpu-type": "la464-loongarch-cpu", ++ "acpi": true, ++ "is-default": true, ++ "cpu-max": 256, ++ "deprecated": false, ++ "default-ram-id": "loongarch.ram" ++ }, ++ { ++ "hotpluggable-cpus": false, ++ "name": "none", ++ "numa-mem-supported": false, ++ "acpi": false, ++ "cpu-max": 1, ++ "deprecated": false, ++ "default-ram-id": "ram" ++ } ++ ], ++ "id": "libvirt-4" ++} +diff --git a/tests/qemucapabilitiesdata/caps_8.2.0_loongarch64.xml b/tests/qemucapabilitiesdata/caps_8.2.0_loongarch64.xml +new file mode 100644 +index 0000000000..1edef3836e +--- /dev/null ++++ b/tests/qemucapabilitiesdata/caps_8.2.0_loongarch64.xml +@@ -0,0 +1,175 @@ ++ ++ /usr/bin/qemu-system-loongarch64 ++ 0 ++ 0 ++ 0 ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ 8002000 ++ 106300246 ++ v8.2.0 ++ loongarch64 ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff --git a/tests/qemucaps2xmloutdata/caps.loongarch64.xml b/tests/qemucaps2xmloutdata/caps.loongarch64.xml +new file mode 100644 +index 0000000000..c15d4d9d08 +--- /dev/null ++++ b/tests/qemucaps2xmloutdata/caps.loongarch64.xml +@@ -0,0 +1,28 @@ ++ ++ ++ ++ ++ loongarch64 ++ ++ ++ ++ ++ ++ ++ hvm ++ ++ 64 ++ /usr/bin/qemu-system-loongarch64 ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff --git a/tests/qemuxml2argvdata/default-video-type-loongarch64.loongarch64-latest.args b/tests/qemuxml2argvdata/default-video-type-loongarch64.loongarch64-latest.args +new file mode 100644 +index 0000000000..0a76cca6ce +--- /dev/null ++++ b/tests/qemuxml2argvdata/default-video-type-loongarch64.loongarch64-latest.args +@@ -0,0 +1,34 @@ ++LC_ALL=C \ ++PATH=/bin \ ++HOME=/var/lib/libvirt/qemu/domain--1-default-video-type-l \ ++USER=test \ ++LOGNAME=test \ ++XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-default-video-type-l/.local/share \ ++XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-default-video-type-l/.cache \ ++XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-default-video-type-l/.config \ ++/usr/bin/qemu-system-loongarch64 \ ++-name guest=default-video-type-loongarch64-test,debug-threads=on \ ++-S \ ++-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-default-video-type-l/master-key.aes"}' \ ++-machine virt,usb=off,dump-guest-core=off,memory-backend=loongarch.ram,acpi=on \ ++-accel tcg \ ++-cpu la464 \ ++-m size=1048576k \ ++-object '{"qom-type":"memory-backend-ram","id":"loongarch.ram","size":1073741824}' \ ++-overcommit mem-lock=off \ ++-smp 1,sockets=1,cores=1,threads=1 \ ++-uuid 6ba410c5-1e5c-4d57-bee7-2228e7ffa32f \ ++-no-user-config \ ++-nodefaults \ ++-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ ++-mon chardev=charmonitor,id=monitor,mode=control \ ++-rtc base=utc \ ++-no-shutdown \ ++-boot strict=on \ ++-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x1"}' \ ++-device '{"driver":"pcie-root-port","port":9,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x1.0x1"}' \ ++-audiodev '{"id":"audio1","driver":"spice"}' \ ++-spice port=0,seamless-migration=on \ ++-device '{"driver":"virtio-vga","id":"video0","max_outputs":1,"bus":"pci.1","addr":"0x0"}' \ ++-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ ++-msg timestamp=on +diff --git a/tests/qemuxml2argvdata/default-video-type-loongarch64.xml b/tests/qemuxml2argvdata/default-video-type-loongarch64.xml +new file mode 100644 +index 0000000000..d7f3a01b7a +--- /dev/null ++++ b/tests/qemuxml2argvdata/default-video-type-loongarch64.xml +@@ -0,0 +1,18 @@ ++ ++ default-video-type-loongarch64-test ++ 6ba410c5-1e5c-4d57-bee7-2228e7ffa32f ++ 1048576 ++ 1 ++ ++ hvm ++ ++ ++ ++ ++ ++ /usr/bin/qemu-system-loongarch64 ++ ++ ++ ++ ++ +diff --git a/tests/qemuxml2argvdata/loongarch64-virt-graphics.loongarch64-latest.args b/tests/qemuxml2argvdata/loongarch64-virt-graphics.loongarch64-latest.args +new file mode 100644 +index 0000000000..4977e5b05f +--- /dev/null ++++ b/tests/qemuxml2argvdata/loongarch64-virt-graphics.loongarch64-latest.args +@@ -0,0 +1,56 @@ ++LC_ALL=C \ ++PATH=/bin \ ++HOME=/var/lib/libvirt/qemu/domain--1-guest \ ++USER=test \ ++LOGNAME=test \ ++XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-guest/.local/share \ ++XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-guest/.cache \ ++XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ ++/usr/bin/qemu-system-loongarch64 \ ++-name guest=guest,debug-threads=on \ ++-S \ ++-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ ++-machine virt,usb=off,dump-guest-core=off,memory-backend=loongarch.ram,acpi=on \ ++-accel tcg \ ++-cpu la464 \ ++-m size=4194304k \ ++-object '{"qom-type":"memory-backend-ram","id":"loongarch.ram","size":4294967296}' \ ++-overcommit mem-lock=off \ ++-smp 4,sockets=4,cores=1,threads=1 \ ++-uuid 96bc2754-8842-4714-a45f-3f69e7a9a852 \ ++-no-user-config \ ++-nodefaults \ ++-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ ++-mon chardev=charmonitor,id=monitor,mode=control \ ++-rtc base=utc \ ++-no-shutdown \ ++-boot strict=on \ ++-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x1"}' \ ++-device '{"driver":"pcie-root-port","port":9,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x1.0x1"}' \ ++-device '{"driver":"pcie-root-port","port":10,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x2"}' \ ++-device '{"driver":"pcie-root-port","port":11,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x1.0x3"}' \ ++-device '{"driver":"pcie-root-port","port":12,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x1.0x4"}' \ ++-device '{"driver":"pcie-root-port","port":13,"chassis":6,"id":"pci.6","bus":"pcie.0","addr":"0x1.0x5"}' \ ++-device '{"driver":"pcie-root-port","port":14,"chassis":7,"id":"pci.7","bus":"pcie.0","addr":"0x1.0x6"}' \ ++-device '{"driver":"pcie-root-port","port":15,"chassis":8,"id":"pci.8","bus":"pcie.0","addr":"0x1.0x7"}' \ ++-device '{"driver":"qemu-xhci","p2":15,"p3":15,"id":"usb","bus":"pci.2","addr":"0x0"}' \ ++-device '{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.3","addr":"0x0"}' \ ++-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/guest.qcow2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ ++-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2","file":"libvirt-1-storage"}' \ ++-device '{"driver":"virtio-blk-pci","bus":"pci.4","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \ ++-netdev '{"type":"user","id":"hostnet0"}' \ ++-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.1","addr":"0x0"}' \ ++-chardev pty,id=charserial0 \ ++-serial chardev:charserial0 \ ++-chardev socket,id=charchannel0,fd=1729,server=on,wait=off \ ++-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \ ++-device '{"driver":"usb-tablet","id":"input0","bus":"usb.0","port":"1"}' \ ++-device '{"driver":"usb-kbd","id":"input1","bus":"usb.0","port":"2"}' \ ++-audiodev '{"id":"audio1","driver":"none"}' \ ++-vnc 127.0.0.1:0,audiodev=audio1 \ ++-device '{"driver":"virtio-vga","id":"video0","max_outputs":1,"bus":"pci.7","addr":"0x0"}' \ ++-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.5","addr":"0x0"}' \ ++-object '{"qom-type":"rng-random","id":"objrng0","filename":"/dev/urandom"}' \ ++-device '{"driver":"virtio-rng-pci","rng":"objrng0","id":"rng0","bus":"pci.6","addr":"0x0"}' \ ++-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ ++-msg timestamp=on +diff --git a/tests/qemuxml2argvdata/loongarch64-virt-graphics.xml b/tests/qemuxml2argvdata/loongarch64-virt-graphics.xml +new file mode 100644 +index 0000000000..1fc0d922ed +--- /dev/null ++++ b/tests/qemuxml2argvdata/loongarch64-virt-graphics.xml +@@ -0,0 +1,48 @@ ++ ++ guest ++ 96bc2754-8842-4714-a45f-3f69e7a9a852 ++ ++ ++ ++ ++ ++ 4194304 ++ 4194304 ++ 4 ++ ++ hvm ++ ++ ++ ++ ++ ++ ++ ++ /usr/bin/qemu-system-loongarch64 ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ /dev/urandom ++ ++ ++ +diff --git a/tests/qemuxml2argvdata/loongarch64-virt-headless.loongarch64-latest.args b/tests/qemuxml2argvdata/loongarch64-virt-headless.loongarch64-latest.args +new file mode 100644 +index 0000000000..e124668dbf +--- /dev/null ++++ b/tests/qemuxml2argvdata/loongarch64-virt-headless.loongarch64-latest.args +@@ -0,0 +1,52 @@ ++LC_ALL=C \ ++PATH=/bin \ ++HOME=/var/lib/libvirt/qemu/domain--1-guest \ ++USER=test \ ++LOGNAME=test \ ++XDG_DATA_HOME=/var/lib/libvirt/qemu/domain--1-guest/.local/share \ ++XDG_CACHE_HOME=/var/lib/libvirt/qemu/domain--1-guest/.cache \ ++XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-guest/.config \ ++/usr/bin/qemu-system-loongarch64 \ ++-name guest=guest,debug-threads=on \ ++-S \ ++-object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-guest/master-key.aes"}' \ ++-machine virt,usb=off,dump-guest-core=off,memory-backend=loongarch.ram,acpi=on \ ++-accel tcg \ ++-cpu la464 \ ++-m size=4194304k \ ++-object '{"qom-type":"memory-backend-ram","id":"loongarch.ram","size":4294967296}' \ ++-overcommit mem-lock=off \ ++-smp 4,sockets=4,cores=1,threads=1 \ ++-uuid 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 \ ++-display none \ ++-no-user-config \ ++-nodefaults \ ++-chardev socket,id=charmonitor,fd=1729,server=on,wait=off \ ++-mon chardev=charmonitor,id=monitor,mode=control \ ++-rtc base=utc \ ++-no-shutdown \ ++-boot strict=on \ ++-device '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x1"}' \ ++-device '{"driver":"pcie-root-port","port":9,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x1.0x1"}' \ ++-device '{"driver":"pcie-root-port","port":10,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x2"}' \ ++-device '{"driver":"pcie-root-port","port":11,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x1.0x3"}' \ ++-device '{"driver":"pcie-root-port","port":12,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x1.0x4"}' \ ++-device '{"driver":"pcie-root-port","port":13,"chassis":6,"id":"pci.6","bus":"pcie.0","addr":"0x1.0x5"}' \ ++-device '{"driver":"pcie-root-port","port":14,"chassis":7,"id":"pci.7","bus":"pcie.0","addr":"0x1.0x6"}' \ ++-device '{"driver":"qemu-xhci","p2":15,"p3":15,"id":"usb","bus":"pci.2","addr":"0x0"}' \ ++-device '{"driver":"virtio-serial-pci","id":"virtio-serial0","bus":"pci.3","addr":"0x0"}' \ ++-blockdev '{"driver":"file","filename":"/var/lib/libvirt/images/guest.qcow2","node-name":"libvirt-1-storage","auto-read-only":true,"discard":"unmap"}' \ ++-blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"qcow2","file":"libvirt-1-storage"}' \ ++-device '{"driver":"virtio-blk-pci","bus":"pci.4","addr":"0x0","drive":"libvirt-1-format","id":"virtio-disk0","bootindex":1}' \ ++-netdev '{"type":"user","id":"hostnet0"}' \ ++-device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:09:a4:37","bus":"pci.1","addr":"0x0"}' \ ++-chardev pty,id=charserial0 \ ++-serial chardev:charserial0 \ ++-chardev socket,id=charchannel0,fd=1729,server=on,wait=off \ ++-device '{"driver":"virtserialport","bus":"virtio-serial0.0","nr":1,"chardev":"charchannel0","id":"channel0","name":"org.qemu.guest_agent.0"}' \ ++-audiodev '{"id":"audio1","driver":"none"}' \ ++-device '{"driver":"virtio-balloon-pci","id":"balloon0","bus":"pci.5","addr":"0x0"}' \ ++-object '{"qom-type":"rng-random","id":"objrng0","filename":"/dev/urandom"}' \ ++-device '{"driver":"virtio-rng-pci","rng":"objrng0","id":"rng0","bus":"pci.6","addr":"0x0"}' \ ++-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \ ++-msg timestamp=on +diff --git a/tests/qemuxml2argvdata/loongarch64-virt-headless.xml b/tests/qemuxml2argvdata/loongarch64-virt-headless.xml +new file mode 100644 +index 0000000000..3a6a47a83a +--- /dev/null ++++ b/tests/qemuxml2argvdata/loongarch64-virt-headless.xml +@@ -0,0 +1,42 @@ ++ ++ guest ++ 1ccfd97d-5eb4-478a-bbe6-88d254c16db7 ++ ++ ++ ++ ++ ++ 4194304 ++ 4194304 ++ 4 ++ ++ hvm ++ ++ ++ ++ ++ ++ ++ ++ /usr/bin/qemu-system-loongarch64 ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ /dev/urandom ++ ++ ++ +diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c +index b2ea2191dc..68e2ef3bf6 100644 +--- a/tests/qemuxml2argvtest.c ++++ b/tests/qemuxml2argvtest.c +@@ -1905,6 +1905,7 @@ mymain(void) + DO_TEST_CAPS_LATEST("default-video-type-x86_64"); + + DO_TEST_CAPS_ARCH_LATEST("default-video-type-aarch64", "aarch64"); ++ DO_TEST_CAPS_ARCH_LATEST("default-video-type-loongarch64", "loongarch64"); + DO_TEST_CAPS_ARCH_LATEST("default-video-type-ppc64", "ppc64"); + DO_TEST_CAPS_ARCH_LATEST("default-video-type-riscv64", "riscv64"); + DO_TEST_CAPS_ARCH_LATEST("default-video-type-s390x", "s390x"); +@@ -2344,6 +2345,7 @@ mymain(void) + + /* Simple headless guests for various architectures */ + DO_TEST_CAPS_ARCH_LATEST("aarch64-virt-headless", "aarch64"); ++ DO_TEST_CAPS_ARCH_LATEST("loongarch64-virt-headless", "loongarch64"); + DO_TEST_CAPS_ARCH_LATEST("ppc64-pseries-headless", "ppc64"); + DO_TEST_CAPS_ARCH_LATEST("riscv64-virt-headless", "riscv64"); + DO_TEST_CAPS_ARCH_LATEST("s390x-ccw-headless", "s390x"); +@@ -2352,6 +2354,7 @@ mymain(void) + + /* Simple guests with graphics for various architectures */ + DO_TEST_CAPS_ARCH_LATEST("aarch64-virt-graphics", "aarch64"); ++ DO_TEST_CAPS_ARCH_LATEST("loongarch64-virt-graphics", "loongarch64"); + DO_TEST_CAPS_ARCH_LATEST("ppc64-pseries-graphics", "ppc64"); + DO_TEST_CAPS_ARCH_LATEST("riscv64-virt-graphics", "riscv64"); + DO_TEST_CAPS_ARCH_LATEST("s390x-ccw-graphics", "s390x"); +diff --git a/tests/qemuxml2xmloutdata/default-video-type-loongarch64.loongarch64-latest.xml b/tests/qemuxml2xmloutdata/default-video-type-loongarch64.loongarch64-latest.xml +new file mode 100644 +index 0000000000..244f57ff8e +--- /dev/null ++++ b/tests/qemuxml2xmloutdata/default-video-type-loongarch64.loongarch64-latest.xml +@@ -0,0 +1,45 @@ ++ ++ default-video-type-loongarch64-test ++ 6ba410c5-1e5c-4d57-bee7-2228e7ffa32f ++ 1048576 ++ 1048576 ++ 1 ++ ++ hvm ++ ++ ++ ++ ++ ++ ++ la464 ++ ++ ++ destroy ++ restart ++ destroy ++ ++ /usr/bin/qemu-system-loongarch64 ++ ++ ++ ++ ++ ++
++ ++ ++ ++ ++
++ ++ ++ ++ ++