qemu: Introduce QEMU_CAPS_DEVICE_NVDIMM_UNARMED capability

This capability tracks if nvdimm has the unarmed attribute or not
for the nvdimm readonly xml attribute.

Signed-off-by: Luyao Zhong <luyao.zhong@intel.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
Luyao Zhong 2018-12-20 17:14:45 +08:00 committed by John Ferlan
parent 55b4fc78b6
commit 404766dbcc
20 changed files with 435 additions and 213 deletions

View File

@ -519,6 +519,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
/* 325 */
"memory-backend-file.pmem",
"nvdimm.unarmed",
);
@ -1242,6 +1243,10 @@ static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsMCH[] = {
{ "extended-tseg-mbytes", QEMU_CAPS_MCH_EXTENDED_TSEG_MBYTES },
};
static struct virQEMUCapsStringFlags virQEMUCapsDevicePropsNVDIMM[] = {
{ "unarmed", QEMU_CAPS_DEVICE_NVDIMM_UNARMED },
};
/* see documentation for virQEMUQAPISchemaPathGet for the query format */
static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = {
{ "blockdev-add/arg-type/options/+gluster/debug-level", QEMU_CAPS_GLUSTER_DEBUG_LEVEL},
@ -1365,6 +1370,9 @@ static virQEMUCapsObjectTypeProps virQEMUCapsDeviceProps[] = {
{ "mch", virQEMUCapsDevicePropsMCH,
ARRAY_CARDINALITY(virQEMUCapsDevicePropsMCH),
QEMU_CAPS_DEVICE_MCH },
{ "nvdimm", virQEMUCapsDevicePropsNVDIMM,
ARRAY_CARDINALITY(virQEMUCapsDevicePropsNVDIMM),
QEMU_CAPS_DEVICE_NVDIMM },
};
static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsMemoryBackendFile[] = {

View File

@ -503,6 +503,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
/* 325 */
QEMU_CAPS_OBJECT_MEMORY_FILE_PMEM, /* -object memory-backend-file,pmem= */
QEMU_CAPS_DEVICE_NVDIMM_UNARMED, /* -device nvdimm,unarmed= */
QEMU_CAPS_LAST /* this must always be the last item */
} virQEMUCapsFlags;

View File

@ -4552,10 +4552,28 @@
}
{
"execute": "query-machines",
"execute": "device-list-properties",
"arguments": {
"typename": "nvdimm"
},
"id": "libvirt-35"
}
{
"return": [
{
"name": "memdev",
"type": "link<memory-backend>"
}
],
"id": "libvirt-35"
}
{
"execute": "query-machines",
"id": "libvirt-36"
}
{
"return": [
{
@ -4742,12 +4760,12 @@
"alias": "q35"
}
],
"id": "libvirt-35"
"id": "libvirt-36"
}
{
"execute": "query-cpu-definitions",
"id": "libvirt-36"
"id": "libvirt-37"
}
{
@ -5082,36 +5100,36 @@
"migration-safe": true
}
],
"id": "libvirt-36"
"id": "libvirt-37"
}
{
"execute": "query-tpm-models",
"id": "libvirt-37"
"id": "libvirt-38"
}
{
"return": [
"tpm-tis"
],
"id": "libvirt-37"
"id": "libvirt-38"
}
{
"execute": "query-tpm-types",
"id": "libvirt-38"
"id": "libvirt-39"
}
{
"return": [
"passthrough"
],
"id": "libvirt-38"
"id": "libvirt-39"
}
{
"execute": "query-command-line-options",
"id": "libvirt-39"
"id": "libvirt-40"
}
{
@ -6390,12 +6408,12 @@
"option": "drive"
}
],
"id": "libvirt-39"
"id": "libvirt-40"
}
{
"execute": "query-migrate-capabilities",
"id": "libvirt-40"
"id": "libvirt-41"
}
{
@ -6445,12 +6463,12 @@
"capability": "return-path"
}
],
"id": "libvirt-40"
"id": "libvirt-41"
}
{
"execute": "query-qmp-schema",
"id": "libvirt-41"
"id": "libvirt-42"
}
{
@ -16173,7 +16191,7 @@
"meta-type": "object"
}
],
"id": "libvirt-41"
"id": "libvirt-42"
}
{
@ -16184,7 +16202,7 @@
"name": "host"
}
},
"id": "libvirt-42"
"id": "libvirt-43"
}
{
@ -16363,7 +16381,7 @@
}
}
},
"id": "libvirt-42"
"id": "libvirt-43"
}
{
@ -16544,7 +16562,7 @@
}
}
},
"id": "libvirt-43"
"id": "libvirt-44"
}
{
@ -16787,7 +16805,7 @@
}
}
},
"id": "libvirt-43"
"id": "libvirt-44"
}
{
@ -16801,7 +16819,7 @@
}
}
},
"id": "libvirt-44"
"id": "libvirt-45"
}
{
@ -16980,7 +16998,7 @@
}
}
},
"id": "libvirt-44"
"id": "libvirt-45"
}
{
@ -17161,7 +17179,7 @@
}
}
},
"id": "libvirt-45"
"id": "libvirt-46"
}
{
@ -17404,7 +17422,7 @@
}
}
},
"id": "libvirt-45"
"id": "libvirt-46"
}
{

View File

@ -195,7 +195,7 @@
<flag name='iothread.poll-max-ns'/>
<version>2010000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>364386</microcodeVersion>
<microcodeVersion>364616</microcodeVersion>
<package> (v2.10.0)</package>
<arch>x86_64</arch>
<hostCPU type='kvm' model='base' migratability='yes'>

View File

@ -4579,10 +4579,28 @@
}
{
"execute": "query-machines",
"execute": "device-list-properties",
"arguments": {
"typename": "nvdimm"
},
"id": "libvirt-35"
}
{
"return": [
{
"name": "memdev",
"type": "link<memory-backend>"
}
],
"id": "libvirt-35"
}
{
"execute": "query-machines",
"id": "libvirt-36"
}
{
"return": [
{
@ -4769,12 +4787,12 @@
"cpu-max": 288
}
],
"id": "libvirt-35"
"id": "libvirt-36"
}
{
"execute": "query-cpu-definitions",
"id": "libvirt-36"
"id": "libvirt-37"
}
{
@ -5088,24 +5106,24 @@
"migration-safe": true
}
],
"id": "libvirt-36"
"id": "libvirt-37"
}
{
"execute": "query-tpm-models",
"id": "libvirt-37"
"id": "libvirt-38"
}
{
"return": [
"tpm-tis"
],
"id": "libvirt-37"
"id": "libvirt-38"
}
{
"execute": "query-tpm-types",
"id": "libvirt-38"
"id": "libvirt-39"
}
{
@ -5113,12 +5131,12 @@
"passthrough",
"emulator"
],
"id": "libvirt-38"
"id": "libvirt-39"
}
{
"execute": "query-command-line-options",
"id": "libvirt-39"
"id": "libvirt-40"
}
{
@ -6413,12 +6431,12 @@
"option": "drive"
}
],
"id": "libvirt-39"
"id": "libvirt-40"
}
{
"execute": "query-migrate-capabilities",
"id": "libvirt-40"
"id": "libvirt-41"
}
{
@ -6476,12 +6494,12 @@
"capability": "x-multifd"
}
],
"id": "libvirt-40"
"id": "libvirt-41"
}
{
"execute": "query-qmp-schema",
"id": "libvirt-41"
"id": "libvirt-42"
}
{
@ -16349,7 +16367,7 @@
"meta-type": "object"
}
],
"id": "libvirt-41"
"id": "libvirt-42"
}
{
@ -16360,7 +16378,7 @@
"name": "host"
}
},
"id": "libvirt-42"
"id": "libvirt-43"
}
{
@ -16540,7 +16558,7 @@
}
}
},
"id": "libvirt-42"
"id": "libvirt-43"
}
{
@ -16722,7 +16740,7 @@
}
}
},
"id": "libvirt-43"
"id": "libvirt-44"
}
{
@ -16967,7 +16985,7 @@
}
}
},
"id": "libvirt-43"
"id": "libvirt-44"
}
{
@ -16981,7 +16999,7 @@
}
}
},
"id": "libvirt-44"
"id": "libvirt-45"
}
{
@ -17161,7 +17179,7 @@
}
}
},
"id": "libvirt-44"
"id": "libvirt-45"
}
{
@ -17343,7 +17361,7 @@
}
}
},
"id": "libvirt-45"
"id": "libvirt-46"
}
{
@ -17588,7 +17606,7 @@
}
}
},
"id": "libvirt-45"
"id": "libvirt-46"
}
{

View File

@ -201,7 +201,7 @@
<flag name='iothread.poll-max-ns'/>
<version>2011000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>368875</microcodeVersion>
<microcodeVersion>369105</microcodeVersion>
<package> (v2.11.0)</package>
<arch>x86_64</arch>
<hostCPU type='kvm' model='base' migratability='yes'>

View File

@ -4751,12 +4751,30 @@
"id": "libvirt-34"
}
{
"execute": "device-list-properties",
"arguments": {
"typename": "nvdimm"
},
"id": "libvirt-35"
}
{
"return": [
{
"name": "memdev",
"type": "link<memory-backend>"
}
],
"id": "libvirt-35"
}
{
"execute": "qom-list-properties",
"arguments": {
"typename": "memory-backend-file"
},
"id": "libvirt-35"
"id": "libvirt-36"
}
{
@ -4810,7 +4828,7 @@
"type": "string"
}
],
"id": "libvirt-35"
"id": "libvirt-36"
}
{
@ -4818,7 +4836,7 @@
"arguments": {
"typename": "memory-backend-memfd"
},
"id": "libvirt-36"
"id": "libvirt-37"
}
{
@ -4868,7 +4886,7 @@
"type": "string"
}
],
"id": "libvirt-36"
"id": "libvirt-37"
}
{
@ -4876,11 +4894,11 @@
"arguments": {
"typename": "spapr-machine"
},
"id": "libvirt-37"
"id": "libvirt-38"
}
{
"id": "libvirt-37",
"id": "libvirt-38",
"error": {
"class": "DeviceNotFound",
"desc": "Class 'spapr-machine' not found"
@ -4889,7 +4907,7 @@
{
"execute": "query-machines",
"id": "libvirt-38"
"id": "libvirt-39"
}
{
@ -5088,12 +5106,12 @@
"cpu-max": 255
}
],
"id": "libvirt-38"
"id": "libvirt-39"
}
{
"execute": "query-cpu-definitions",
"id": "libvirt-39"
"id": "libvirt-40"
}
{
@ -5607,12 +5625,12 @@
"migration-safe": true
}
],
"id": "libvirt-39"
"id": "libvirt-40"
}
{
"execute": "query-tpm-models",
"id": "libvirt-40"
"id": "libvirt-41"
}
{
@ -5620,12 +5638,12 @@
"tpm-crb",
"tpm-tis"
],
"id": "libvirt-40"
"id": "libvirt-41"
}
{
"execute": "query-tpm-types",
"id": "libvirt-41"
"id": "libvirt-42"
}
{
@ -5633,12 +5651,12 @@
"passthrough",
"emulator"
],
"id": "libvirt-41"
"id": "libvirt-42"
}
{
"execute": "query-command-line-options",
"id": "libvirt-42"
"id": "libvirt-43"
}
{
@ -6925,12 +6943,12 @@
"option": "drive"
}
],
"id": "libvirt-42"
"id": "libvirt-43"
}
{
"execute": "query-migrate-capabilities",
"id": "libvirt-43"
"id": "libvirt-44"
}
{
@ -6992,12 +7010,12 @@
"capability": "dirty-bitmaps"
}
],
"id": "libvirt-43"
"id": "libvirt-44"
}
{
"execute": "query-qmp-schema",
"id": "libvirt-44"
"id": "libvirt-45"
}
{
@ -18365,7 +18383,7 @@
"meta-type": "object"
}
],
"id": "libvirt-44"
"id": "libvirt-45"
}
{
@ -18376,7 +18394,7 @@
"name": "host"
}
},
"id": "libvirt-45"
"id": "libvirt-46"
}
{
@ -18566,7 +18584,7 @@
}
}
},
"id": "libvirt-45"
"id": "libvirt-46"
}
{
@ -18758,7 +18776,7 @@
}
}
},
"id": "libvirt-46"
"id": "libvirt-47"
}
{
@ -19013,7 +19031,7 @@
}
}
},
"id": "libvirt-46"
"id": "libvirt-47"
}
{
@ -19027,7 +19045,7 @@
}
}
},
"id": "libvirt-47"
"id": "libvirt-48"
}
{
@ -19217,7 +19235,7 @@
}
}
},
"id": "libvirt-47"
"id": "libvirt-48"
}
{
@ -19409,7 +19427,7 @@
}
}
},
"id": "libvirt-48"
"id": "libvirt-49"
}
{
@ -19664,12 +19682,12 @@
}
}
},
"id": "libvirt-48"
"id": "libvirt-49"
}
{
"execute": "query-sev-capabilities",
"id": "libvirt-49"
"id": "libvirt-50"
}
{
@ -19679,7 +19697,7 @@
"cert-chain": "AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAA",
"pdh": "AQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAAAQAAAAAOAAA"
},
"id": "libvirt-49"
"id": "libvirt-50"
}
{

View File

@ -209,7 +209,7 @@
<flag name='memory-backend-file.align'/>
<version>2011090</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>414371</microcodeVersion>
<microcodeVersion>414601</microcodeVersion>
<package>v2.12.0-rc0</package>
<arch>x86_64</arch>
<hostCPU type='kvm' model='base' migratability='yes'>

View File

@ -3454,10 +3454,28 @@
}
{
"execute": "query-machines",
"execute": "device-list-properties",
"arguments": {
"typename": "nvdimm"
},
"id": "libvirt-35"
}
{
"return": [
{
"name": "memdev",
"type": "link<memory-backend>"
}
],
"id": "libvirt-35"
}
{
"execute": "query-machines",
"id": "libvirt-36"
}
{
"return": [
{
@ -3568,12 +3586,12 @@
"cpu-max": 255
}
],
"id": "libvirt-35"
"id": "libvirt-36"
}
{
"execute": "query-cpu-definitions",
"id": "libvirt-36"
"id": "libvirt-37"
}
{
@ -3663,36 +3681,36 @@
"name": "qemu64"
}
],
"id": "libvirt-36"
"id": "libvirt-37"
}
{
"execute": "query-tpm-models",
"id": "libvirt-37"
"id": "libvirt-38"
}
{
"return": [
"tpm-tis"
],
"id": "libvirt-37"
"id": "libvirt-38"
}
{
"execute": "query-tpm-types",
"id": "libvirt-38"
"id": "libvirt-39"
}
{
"return": [
"passthrough"
],
"id": "libvirt-38"
"id": "libvirt-39"
}
{
"execute": "query-command-line-options",
"id": "libvirt-39"
"id": "libvirt-40"
}
{
@ -4786,12 +4804,12 @@
"option": "drive"
}
],
"id": "libvirt-39"
"id": "libvirt-40"
}
{
"execute": "query-migrate-capabilities",
"id": "libvirt-40"
"id": "libvirt-41"
}
{
@ -4825,12 +4843,12 @@
"capability": "postcopy-ram"
}
],
"id": "libvirt-40"
"id": "libvirt-41"
}
{
"execute": "query-qmp-schema",
"id": "libvirt-41"
"id": "libvirt-42"
}
{
@ -12835,7 +12853,7 @@
"meta-type": "array"
}
],
"id": "libvirt-41"
"id": "libvirt-42"
}
{

View File

@ -165,7 +165,7 @@
<flag name='mch'/>
<version>2006000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>228991</microcodeVersion>
<microcodeVersion>229221</microcodeVersion>
<package></package>
<arch>x86_64</arch>
<cpu type='kvm' name='Opteron_G5'/>

View File

@ -3640,10 +3640,28 @@
}
{
"execute": "query-machines",
"execute": "device-list-properties",
"arguments": {
"typename": "nvdimm"
},
"id": "libvirt-35"
}
{
"return": [
{
"name": "memdev",
"type": "link<memory-backend>"
}
],
"id": "libvirt-35"
}
{
"execute": "query-machines",
"id": "libvirt-36"
}
{
"return": [
{
@ -3790,12 +3808,12 @@
"cpu-max": 255
}
],
"id": "libvirt-35"
"id": "libvirt-36"
}
{
"execute": "query-cpu-definitions",
"id": "libvirt-36"
"id": "libvirt-37"
}
{
@ -3888,36 +3906,36 @@
"name": "qemu64"
}
],
"id": "libvirt-36"
"id": "libvirt-37"
}
{
"execute": "query-tpm-models",
"id": "libvirt-37"
"id": "libvirt-38"
}
{
"return": [
"tpm-tis"
],
"id": "libvirt-37"
"id": "libvirt-38"
}
{
"execute": "query-tpm-types",
"id": "libvirt-38"
"id": "libvirt-39"
}
{
"return": [
"passthrough"
],
"id": "libvirt-38"
"id": "libvirt-39"
}
{
"execute": "query-command-line-options",
"id": "libvirt-39"
"id": "libvirt-40"
}
{
@ -5015,12 +5033,12 @@
"option": "drive"
}
],
"id": "libvirt-39"
"id": "libvirt-40"
}
{
"execute": "query-migrate-capabilities",
"id": "libvirt-40"
"id": "libvirt-41"
}
{
@ -5054,12 +5072,12 @@
"capability": "postcopy-ram"
}
],
"id": "libvirt-40"
"id": "libvirt-41"
}
{
"execute": "query-qmp-schema",
"id": "libvirt-41"
"id": "libvirt-42"
}
{
@ -13415,7 +13433,7 @@
"meta-type": "object"
}
],
"id": "libvirt-41"
"id": "libvirt-42"
}
{

View File

@ -170,7 +170,7 @@
<flag name='mch'/>
<version>2007000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>240497</microcodeVersion>
<microcodeVersion>240727</microcodeVersion>
<package> (v2.7.0)</package>
<arch>x86_64</arch>
<cpu type='kvm' name='Opteron_G5'/>

View File

@ -3782,10 +3782,28 @@
}
{
"execute": "query-machines",
"execute": "device-list-properties",
"arguments": {
"typename": "nvdimm"
},
"id": "libvirt-35"
}
{
"return": [
{
"name": "memdev",
"type": "link<memory-backend>"
}
],
"id": "libvirt-35"
}
{
"execute": "query-machines",
"id": "libvirt-36"
}
{
"return": [
{
@ -3952,12 +3970,12 @@
"cpu-max": 255
}
],
"id": "libvirt-35"
"id": "libvirt-36"
}
{
"execute": "query-cpu-definitions",
"id": "libvirt-36"
"id": "libvirt-37"
}
{
@ -4163,36 +4181,36 @@
"static": false
}
],
"id": "libvirt-36"
"id": "libvirt-37"
}
{
"execute": "query-tpm-models",
"id": "libvirt-37"
"id": "libvirt-38"
}
{
"return": [
"tpm-tis"
],
"id": "libvirt-37"
"id": "libvirt-38"
}
{
"execute": "query-tpm-types",
"id": "libvirt-38"
"id": "libvirt-39"
}
{
"return": [
"passthrough"
],
"id": "libvirt-38"
"id": "libvirt-39"
}
{
"execute": "query-command-line-options",
"id": "libvirt-39"
"id": "libvirt-40"
}
{
@ -5315,12 +5333,12 @@
"option": "drive"
}
],
"id": "libvirt-39"
"id": "libvirt-40"
}
{
"execute": "query-migrate-capabilities",
"id": "libvirt-40"
"id": "libvirt-41"
}
{
@ -5358,12 +5376,12 @@
"capability": "x-colo"
}
],
"id": "libvirt-40"
"id": "libvirt-41"
}
{
"execute": "query-qmp-schema",
"id": "libvirt-41"
"id": "libvirt-42"
}
{
@ -14133,7 +14151,7 @@
"meta-type": "object"
}
],
"id": "libvirt-41"
"id": "libvirt-42"
}
{

View File

@ -173,7 +173,7 @@
<flag name='mch'/>
<version>2008000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>257152</microcodeVersion>
<microcodeVersion>257382</microcodeVersion>
<package> (v2.8.0)</package>
<arch>x86_64</arch>
<cpu type='kvm' name='host' usable='yes'/>

View File

@ -4096,10 +4096,28 @@
}
{
"execute": "query-machines",
"execute": "device-list-properties",
"arguments": {
"typename": "nvdimm"
},
"id": "libvirt-35"
}
{
"return": [
{
"name": "memdev",
"type": "link<memory-backend>"
}
],
"id": "libvirt-35"
}
{
"execute": "query-machines",
"id": "libvirt-36"
}
{
"return": [
{
@ -4276,12 +4294,12 @@
"cpu-max": 255
}
],
"id": "libvirt-35"
"id": "libvirt-36"
}
{
"execute": "query-cpu-definitions",
"id": "libvirt-36"
"id": "libvirt-37"
}
{
@ -4563,36 +4581,36 @@
"migration-safe": true
}
],
"id": "libvirt-36"
"id": "libvirt-37"
}
{
"execute": "query-tpm-models",
"id": "libvirt-37"
"id": "libvirt-38"
}
{
"return": [
"tpm-tis"
],
"id": "libvirt-37"
"id": "libvirt-38"
}
{
"execute": "query-tpm-types",
"id": "libvirt-38"
"id": "libvirt-39"
}
{
"return": [
"passthrough"
],
"id": "libvirt-38"
"id": "libvirt-39"
}
{
"execute": "query-command-line-options",
"id": "libvirt-39"
"id": "libvirt-40"
}
{
@ -5841,12 +5859,12 @@
"option": "drive"
}
],
"id": "libvirt-39"
"id": "libvirt-40"
}
{
"execute": "query-migrate-capabilities",
"id": "libvirt-40"
"id": "libvirt-41"
}
{
@ -5888,12 +5906,12 @@
"capability": "release-ram"
}
],
"id": "libvirt-40"
"id": "libvirt-41"
}
{
"execute": "query-qmp-schema",
"id": "libvirt-41"
"id": "libvirt-42"
}
{
@ -15179,7 +15197,7 @@
"meta-type": "object"
}
],
"id": "libvirt-41"
"id": "libvirt-42"
}
{
@ -15190,7 +15208,7 @@
"name": "host"
}
},
"id": "libvirt-42"
"id": "libvirt-43"
}
{
@ -15369,7 +15387,7 @@
}
}
},
"id": "libvirt-42"
"id": "libvirt-43"
}
{
@ -15550,7 +15568,7 @@
}
}
},
"id": "libvirt-43"
"id": "libvirt-44"
}
{
@ -15791,7 +15809,7 @@
}
}
},
"id": "libvirt-43"
"id": "libvirt-44"
}
{
@ -15805,7 +15823,7 @@
}
}
},
"id": "libvirt-44"
"id": "libvirt-45"
}
{
@ -15984,7 +16002,7 @@
}
}
},
"id": "libvirt-44"
"id": "libvirt-45"
}
{
@ -16165,7 +16183,7 @@
}
}
},
"id": "libvirt-45"
"id": "libvirt-46"
}
{
@ -16406,7 +16424,7 @@
}
}
},
"id": "libvirt-45"
"id": "libvirt-46"
}
{

View File

@ -189,7 +189,7 @@
<flag name='iothread.poll-max-ns'/>
<version>2009000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>340375</microcodeVersion>
<microcodeVersion>340605</microcodeVersion>
<package> (v2.9.0)</package>
<arch>x86_64</arch>
<hostCPU type='kvm' model='base' migratability='yes'>

View File

@ -4867,12 +4867,55 @@
"id": "libvirt-34"
}
{
"execute": "device-list-properties",
"arguments": {
"typename": "nvdimm"
},
"id": "libvirt-35"
}
{
"return": [
{
"name": "slot",
"type": "int32"
},
{
"name": "node",
"type": "uint32"
},
{
"name": "size",
"type": "uint64"
},
{
"name": "unarmed",
"type": "bool"
},
{
"name": "label-size",
"type": "int"
},
{
"name": "memdev",
"type": "link<memory-backend>"
},
{
"name": "addr",
"type": "uint64"
}
],
"id": "libvirt-35"
}
{
"execute": "qom-list-properties",
"arguments": {
"typename": "memory-backend-file"
},
"id": "libvirt-35"
"id": "libvirt-36"
}
{
@ -4922,7 +4965,7 @@
"type": "string"
}
],
"id": "libvirt-35"
"id": "libvirt-36"
}
{
@ -4930,7 +4973,7 @@
"arguments": {
"typename": "memory-backend-memfd"
},
"id": "libvirt-36"
"id": "libvirt-37"
}
{
@ -4980,7 +5023,7 @@
"type": "string"
}
],
"id": "libvirt-36"
"id": "libvirt-37"
}
{
@ -4988,11 +5031,11 @@
"arguments": {
"typename": "spapr-machine"
},
"id": "libvirt-37"
"id": "libvirt-38"
}
{
"id": "libvirt-37",
"id": "libvirt-38",
"error": {
"class": "DeviceNotFound",
"desc": "Class 'spapr-machine' not found"
@ -5001,7 +5044,7 @@
{
"execute": "query-machines",
"id": "libvirt-38"
"id": "libvirt-39"
}
{
@ -5210,12 +5253,12 @@
"cpu-max": 255
}
],
"id": "libvirt-38"
"id": "libvirt-39"
}
{
"execute": "query-cpu-definitions",
"id": "libvirt-39"
"id": "libvirt-40"
}
{
@ -5652,12 +5695,12 @@
"migration-safe": true
}
],
"id": "libvirt-39"
"id": "libvirt-40"
}
{
"execute": "query-tpm-models",
"id": "libvirt-40"
"id": "libvirt-41"
}
{
@ -5665,12 +5708,12 @@
"tpm-crb",
"tpm-tis"
],
"id": "libvirt-40"
"id": "libvirt-41"
}
{
"execute": "query-tpm-types",
"id": "libvirt-41"
"id": "libvirt-42"
}
{
@ -5678,12 +5721,12 @@
"passthrough",
"emulator"
],
"id": "libvirt-41"
"id": "libvirt-42"
}
{
"execute": "query-command-line-options",
"id": "libvirt-42"
"id": "libvirt-43"
}
{
@ -6982,12 +7025,12 @@
"option": "drive"
}
],
"id": "libvirt-42"
"id": "libvirt-43"
}
{
"execute": "query-migrate-capabilities",
"id": "libvirt-43"
"id": "libvirt-44"
}
{
@ -7057,12 +7100,12 @@
"capability": "late-block-activate"
}
],
"id": "libvirt-43"
"id": "libvirt-44"
}
{
"execute": "query-qmp-schema",
"id": "libvirt-44"
"id": "libvirt-45"
}
{
@ -18942,7 +18985,7 @@
"meta-type": "object"
}
],
"id": "libvirt-44"
"id": "libvirt-45"
}
{
@ -18953,7 +18996,7 @@
"name": "host"
}
},
"id": "libvirt-45"
"id": "libvirt-46"
}
{
@ -19146,7 +19189,7 @@
}
}
},
"id": "libvirt-45"
"id": "libvirt-46"
}
{
@ -19341,7 +19384,7 @@
}
}
},
"id": "libvirt-46"
"id": "libvirt-47"
}
{
@ -19604,7 +19647,7 @@
}
}
},
"id": "libvirt-46"
"id": "libvirt-47"
}
{
@ -19618,7 +19661,7 @@
}
}
},
"id": "libvirt-47"
"id": "libvirt-48"
}
{
@ -19811,7 +19854,7 @@
}
}
},
"id": "libvirt-47"
"id": "libvirt-48"
}
{
@ -20006,7 +20049,7 @@
}
}
},
"id": "libvirt-48"
"id": "libvirt-49"
}
{
@ -20269,16 +20312,16 @@
}
}
},
"id": "libvirt-48"
}
{
"execute": "query-sev-capabilities",
"id": "libvirt-49"
}
{
"id": "libvirt-49",
"execute": "query-sev-capabilities",
"id": "libvirt-50"
}
{
"id": "libvirt-50",
"error": {
"class": "GenericError",
"desc": "SEV feature is not available"

View File

@ -209,9 +209,10 @@
<flag name='memory-backend-memfd.hugetlb'/>
<flag name='iothread.poll-max-ns'/>
<flag name='memory-backend-file.align'/>
<flag name='nvdimm.unarmed'/>
<version>3000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>425972</microcodeVersion>
<microcodeVersion>426554</microcodeVersion>
<package>v3.0.0</package>
<arch>x86_64</arch>
<hostCPU type='kvm' model='base' migratability='yes'>

View File

@ -4913,12 +4913,54 @@
"id": "libvirt-34"
}
{
"execute": "device-list-properties",
"arguments": {
"typename": "nvdimm"
},
"id": "libvirt-35"
}
{
"return": [
{
"name": "slot",
"type": "int32"
},
{
"name": "node",
"type": "uint32"
},
{
"name": "size",
"type": "uint64"
},
{
"name": "unarmed",
"type": "bool"
},
{
"name": "label-size",
"type": "int"
},
{
"name": "memdev",
"type": "link<memory-backend>"
},
{
"name": "addr",
"type": "uint64"
}
],
"id": "libvirt-35"
}
{
"execute": "qom-list-properties",
"arguments": {
"typename": "memory-backend-file"
},
"id": "libvirt-35"
"id": "libvirt-36"
}
{
@ -4979,7 +5021,7 @@
"type": "bool"
}
],
"id": "libvirt-35"
"id": "libvirt-36"
}
{
@ -4987,7 +5029,7 @@
"arguments": {
"typename": "memory-backend-memfd"
},
"id": "libvirt-36"
"id": "libvirt-37"
}
{
@ -5047,7 +5089,7 @@
"type": "bool"
}
],
"id": "libvirt-36"
"id": "libvirt-37"
}
{
@ -5055,11 +5097,11 @@
"arguments": {
"typename": "spapr-machine"
},
"id": "libvirt-37"
"id": "libvirt-38"
}
{
"id": "libvirt-37",
"id": "libvirt-38",
"error": {
"class": "DeviceNotFound",
"desc": "Class 'spapr-machine' not found"
@ -5068,7 +5110,7 @@
{
"execute": "query-machines",
"id": "libvirt-38"
"id": "libvirt-39"
}
{
@ -5287,12 +5329,12 @@
"cpu-max": 255
}
],
"id": "libvirt-38"
"id": "libvirt-39"
}
{
"execute": "query-cpu-definitions",
"id": "libvirt-39"
"id": "libvirt-40"
}
{
@ -5811,12 +5853,12 @@
"migration-safe": true
}
],
"id": "libvirt-39"
"id": "libvirt-40"
}
{
"execute": "query-tpm-models",
"id": "libvirt-40"
"id": "libvirt-41"
}
{
@ -5824,12 +5866,12 @@
"tpm-crb",
"tpm-tis"
],
"id": "libvirt-40"
"id": "libvirt-41"
}
{
"execute": "query-tpm-types",
"id": "libvirt-41"
"id": "libvirt-42"
}
{
@ -5837,12 +5879,12 @@
"passthrough",
"emulator"
],
"id": "libvirt-41"
"id": "libvirt-42"
}
{
"execute": "query-command-line-options",
"id": "libvirt-42"
"id": "libvirt-43"
}
{
@ -7116,12 +7158,12 @@
"option": "drive"
}
],
"id": "libvirt-42"
"id": "libvirt-43"
}
{
"execute": "query-migrate-capabilities",
"id": "libvirt-43"
"id": "libvirt-44"
}
{
@ -7191,12 +7233,12 @@
"capability": "late-block-activate"
}
],
"id": "libvirt-43"
"id": "libvirt-44"
}
{
"execute": "query-qmp-schema",
"id": "libvirt-44"
"id": "libvirt-45"
}
{
@ -19381,7 +19423,7 @@
"meta-type": "object"
}
],
"id": "libvirt-44"
"id": "libvirt-45"
}
{
@ -19392,7 +19434,7 @@
"name": "host"
}
},
"id": "libvirt-45"
"id": "libvirt-46"
}
{
@ -19594,7 +19636,7 @@
}
}
},
"id": "libvirt-45"
"id": "libvirt-46"
}
{
@ -19798,7 +19840,7 @@
}
}
},
"id": "libvirt-46"
"id": "libvirt-47"
}
{
@ -20073,7 +20115,7 @@
}
}
},
"id": "libvirt-46"
"id": "libvirt-47"
}
{
@ -20087,7 +20129,7 @@
}
}
},
"id": "libvirt-47"
"id": "libvirt-48"
}
{
@ -20289,7 +20331,7 @@
}
}
},
"id": "libvirt-47"
"id": "libvirt-48"
}
{
@ -20493,7 +20535,7 @@
}
}
},
"id": "libvirt-48"
"id": "libvirt-49"
}
{
@ -20768,16 +20810,16 @@
}
}
},
"id": "libvirt-48"
}
{
"execute": "query-sev-capabilities",
"id": "libvirt-49"
}
{
"id": "libvirt-49",
"execute": "query-sev-capabilities",
"id": "libvirt-50"
}
{
"id": "libvirt-50",
"error": {
"class": "GenericError",
"desc": "SEV feature is not available"

View File

@ -211,9 +211,10 @@
<flag name='egl-headless.rendernode'/>
<flag name='memory-backend-file.align'/>
<flag name='memory-backend-file.pmem'/>
<flag name='nvdimm.unarmed'/>
<version>3000092</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>440395</microcodeVersion>
<microcodeVersion>440976</microcodeVersion>
<package>v3.1.0-rc2-48-g039d4e3df0</package>
<arch>x86_64</arch>
<hostCPU type='kvm' model='base' migratability='yes'>