capabilities: introduce crypto device

Changes in this commit:
- docs: formatdomaincaps.rst
- conf: crypto related domain caps
- qemu: crypto related
- tests: crypto related test

Signed-off-by: zhenwei pi <pizhenwei@bytedance.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
zhenwei pi 2023-01-17 09:46:51 +08:00 committed by Michal Privoznik
parent 7ba22d21a1
commit 71fa94302a
97 changed files with 833 additions and 1 deletions

View File

@ -589,6 +589,39 @@ Channel device capabilities are exposed under the ``channel`` element. For insta
``type``
Options for the ``type`` attribute of the ``<channel/>`` element.
Crypto device
^^^^^^^^^^^^^^
Crypto device capabilities are exposed under the ``crypto`` element. For instance:
::
<domainCapabilities>
...
<devices>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
<value>lkcf</value>
</enum>
</crypto>
...
</devices>
</domainCapabilities>
``model``
Options for the ``model`` attribute of the ``<crypto/>`` element.
``type``
Options for the ``type`` attribute of the ``<crypto/>`` element.
``backendModel``
Options for the ``backendModel`` attribute of the ``<crypto><backend/>`` element.
Features
~~~~~~~~

View File

@ -593,6 +593,20 @@ virDomainCapsDeviceChannelFormat(virBuffer *buf,
}
static void
virDomainCapsDeviceCryptoFormat(virBuffer *buf,
const virDomainCapsDeviceCrypto *crypto)
{
FORMAT_PROLOGUE(crypto);
ENUM_PROCESS(crypto, model, virDomainCryptoModelTypeToString);
ENUM_PROCESS(crypto, type, virDomainCryptoTypeTypeToString);
ENUM_PROCESS(crypto, backendModel, virDomainCryptoBackendTypeToString);
FORMAT_EPILOGUE(crypto);
}
/**
* virDomainCapsFeatureGICFormat:
* @buf: target buffer
@ -758,6 +772,7 @@ virDomainCapsFormat(const virDomainCaps *caps)
virDomainCapsDeviceTPMFormat(&buf, &caps->tpm);
virDomainCapsDeviceRedirdevFormat(&buf, &caps->redirdev);
virDomainCapsDeviceChannelFormat(&buf, &caps->channel);
virDomainCapsDeviceCryptoFormat(&buf, &caps->crypto);
virBufferAdjustIndent(&buf, -2);
virBufferAddLit(&buf, "</devices>\n");

View File

@ -231,6 +231,17 @@ struct _virSGXCapability {
virSGXSection *sgxSections;
};
STATIC_ASSERT_ENUM(VIR_DOMAIN_CRYPTO_MODEL_LAST);
STATIC_ASSERT_ENUM(VIR_DOMAIN_CRYPTO_TYPE_LAST);
STATIC_ASSERT_ENUM(VIR_DOMAIN_CRYPTO_BACKEND_LAST);
typedef struct _virDomainCapsDeviceCrypto virDomainCapsDeviceCrypto;
struct _virDomainCapsDeviceCrypto {
virTristateBool supported;
virDomainCapsEnum model; /* virDomainCryptoModel */
virDomainCapsEnum type; /* virDomainCryptoType */
virDomainCapsEnum backendModel; /* virDomainCryptoBackend */
};
typedef enum {
VIR_DOMAIN_CAPS_FEATURE_IOTHREADS = 0,
VIR_DOMAIN_CAPS_FEATURE_VMCOREINFO,
@ -265,6 +276,7 @@ struct _virDomainCaps {
virDomainCapsDeviceTPM tpm;
virDomainCapsDeviceRedirdev redirdev;
virDomainCapsDeviceChannel channel;
virDomainCapsDeviceCrypto crypto;
/* add new domain devices here */
virDomainCapsFeatureGIC gic;

View File

@ -204,6 +204,9 @@
<optional>
<ref name="channel"/>
</optional>
<optional>
<ref name="crypto"/>
</optional>
</element>
</define>
@ -270,6 +273,13 @@
</element>
</define>
<define name="crypto">
<element name="crypto">
<ref name="supported"/>
<ref name="enum"/>
</element>
</define>
<define name="features">
<element name="features">
<optional>

View File

@ -684,6 +684,8 @@ VIR_ENUM_IMPL(virQEMUCaps,
/* 440 */
"machine-hpet", /* QEMU_CAPS_MACHINE_HPET */
"netdev.stream", /* QEMU_CAPS_NETDEV_STREAM */
"virtio-crypto", /* QEMU_CAPS_DEVICE_VIRTIO_CRYPTO */
"cryptodev-backend-lkcf", /* QEMU_CAPS_OBJECT_CRYPTO_LKCF */
);
@ -1393,6 +1395,9 @@ struct virQEMUCapsStringFlags virQEMUCapsObjectTypes[] = {
{ "virtio-iommu-pci", QEMU_CAPS_DEVICE_VIRTIO_IOMMU_PCI },
{ "sgx-epc", QEMU_CAPS_SGX_EPC },
{ "thread-context", QEMU_CAPS_THREAD_CONTEXT },
{ "virtio-crypto-pci", QEMU_CAPS_DEVICE_VIRTIO_CRYPTO },
{ "virtio-crypto-device", QEMU_CAPS_DEVICE_VIRTIO_CRYPTO },
{ "cryptodev-backend-lkcf", QEMU_CAPS_OBJECT_CRYPTO_LKCF },
};
@ -6691,6 +6696,26 @@ virQEMUCapsFillDomainDeviceChannelCaps(virQEMUCaps *qemuCaps,
}
void
virQEMUCapsFillDomainDeviceCryptoCaps(virQEMUCaps *qemuCaps,
virDomainCapsDeviceCrypto *crypto)
{
crypto->supported = VIR_TRISTATE_BOOL_YES;
crypto->model.report = true;
crypto->type.report = true;
crypto->backendModel.report = true;
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VIRTIO_CRYPTO))
VIR_DOMAIN_CAPS_ENUM_SET(crypto->model, VIR_DOMAIN_CRYPTO_MODEL_VIRTIO);
VIR_DOMAIN_CAPS_ENUM_SET(crypto->type, VIR_DOMAIN_CRYPTO_TYPE_QEMU);
VIR_DOMAIN_CAPS_ENUM_SET(crypto->backendModel, VIR_DOMAIN_CRYPTO_BACKEND_BUILTIN);
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_CRYPTO_LKCF))
VIR_DOMAIN_CAPS_ENUM_SET(crypto->backendModel, VIR_DOMAIN_CRYPTO_BACKEND_LKCF);
}
/**
* virQEMUCapsSupportsGICVersion:
* @qemuCaps: QEMU capabilities
@ -6854,6 +6879,7 @@ virQEMUCapsFillDomainCaps(virQEMUCaps *qemuCaps,
virDomainCapsDeviceRedirdev *redirdev = &domCaps->redirdev;
virDomainCapsDeviceChannel *channel = &domCaps->channel;
virDomainCapsMemoryBacking *memoryBacking = &domCaps->memoryBacking;
virDomainCapsDeviceCrypto *crypto = &domCaps->crypto;
virQEMUCapsFillDomainFeaturesFromQEMUCaps(qemuCaps, domCaps);
@ -6892,6 +6918,7 @@ virQEMUCapsFillDomainCaps(virQEMUCaps *qemuCaps,
virQEMUCapsFillDomainFeatureS390PVCaps(qemuCaps, domCaps);
virQEMUCapsFillDomainFeatureSGXCaps(qemuCaps, domCaps);
virQEMUCapsFillDomainFeatureHypervCaps(qemuCaps, domCaps);
virQEMUCapsFillDomainDeviceCryptoCaps(qemuCaps, crypto);
return 0;
}

View File

@ -663,6 +663,8 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
/* 440 */
QEMU_CAPS_MACHINE_HPET, /* the HPET timer is configured via -machine, rather than -no-hpet */
QEMU_CAPS_NETDEV_STREAM, /* -netdev stream */
QEMU_CAPS_DEVICE_VIRTIO_CRYPTO, /* virtio-crypto device */
QEMU_CAPS_OBJECT_CRYPTO_LKCF, /* -object cryptodev-backend-lkcf */
QEMU_CAPS_LAST /* this must always be the last item */
} virQEMUCapsFlags;
@ -844,6 +846,9 @@ void virQEMUCapsFillDomainDeviceRedirdevCaps(virQEMUCaps *qemuCaps,
void virQEMUCapsFillDomainDeviceChannelCaps(virQEMUCaps *qemuCaps,
virDomainCapsDeviceChannel *channel);
void virQEMUCapsFillDomainDeviceCryptoCaps(virQEMUCaps *qemuCaps,
virDomainCapsDeviceCrypto *crypto);
bool virQEMUCapsGuestIsNative(virArch host,
virArch guest);

View File

@ -4514,10 +4514,13 @@ qemuValidateDomainDeviceDefAudio(virDomainAudioDef *audio,
static int
qemuValidateDomainDeviceDefCrypto(virDomainCryptoDef *crypto,
const virDomainDef *def G_GNUC_UNUSED,
virQEMUCaps *qemuCaps G_GNUC_UNUSED)
virQEMUCaps *qemuCaps)
{
virDomainCapsDeviceCrypto cryptoCaps = { 0 };
switch (crypto->type) {
case VIR_DOMAIN_CRYPTO_TYPE_QEMU:
virQEMUCapsFillDomainDeviceCryptoCaps(qemuCaps, &cryptoCaps);
break;
case VIR_DOMAIN_CRYPTO_TYPE_LAST:
@ -4526,6 +4529,27 @@ qemuValidateDomainDeviceDefCrypto(virDomainCryptoDef *crypto,
return -1;
}
if (!VIR_DOMAIN_CAPS_ENUM_IS_SET(cryptoCaps.model, crypto->model)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("crypto model %s is not supported"),
virDomainCryptoModelTypeToString(crypto->model));
return -1;
}
if (!VIR_DOMAIN_CAPS_ENUM_IS_SET(cryptoCaps.type, crypto->type)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("crypto type %s is not supported"),
virDomainCryptoTypeTypeToString(crypto->type));
return -1;
}
if (!VIR_DOMAIN_CAPS_ENUM_IS_SET(cryptoCaps.backendModel, crypto->backend)) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("crypto backend %s is not supported"),
virDomainCryptoBackendTypeToString(crypto->backend));
return -1;
}
return 0;
}

View File

@ -229,6 +229,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -244,6 +244,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -172,6 +172,17 @@
<value>unix</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='yes'>

View File

@ -170,6 +170,17 @@
<value>unix</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -143,6 +143,17 @@
<value>unix</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -249,6 +249,17 @@
<value>unix</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -229,6 +229,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -231,6 +231,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -129,6 +129,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -246,6 +246,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -185,6 +185,17 @@
<value>unix</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='yes'>

View File

@ -132,6 +132,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -183,6 +183,17 @@
<value>unix</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -150,6 +150,17 @@
<value>unix</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -231,6 +231,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -232,6 +232,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -246,6 +246,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -117,6 +117,15 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'/>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -232,6 +232,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -232,6 +232,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -129,6 +129,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -246,6 +246,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -185,6 +185,17 @@
<value>unix</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='yes'>

View File

@ -132,6 +132,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -183,6 +183,17 @@
<value>unix</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -150,6 +150,17 @@
<value>unix</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -251,6 +251,17 @@
<value>unix</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -232,6 +232,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -234,6 +234,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -249,6 +249,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -187,6 +187,17 @@
<value>unix</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='yes'>

View File

@ -185,6 +185,17 @@
<value>unix</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -252,6 +252,17 @@
<value>unix</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -234,6 +234,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -235,6 +235,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -249,6 +249,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -235,6 +235,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -235,6 +235,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -251,6 +251,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -194,6 +194,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='yes'>

View File

@ -192,6 +192,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -149,6 +149,17 @@
<value>unix</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -235,6 +235,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -236,6 +236,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -252,6 +252,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -193,6 +193,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='yes'>

View File

@ -191,6 +191,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -154,6 +154,17 @@
<value>unix</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -236,6 +236,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -235,6 +235,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -250,6 +250,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -147,6 +147,17 @@
<value>unix</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -235,6 +235,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -240,6 +240,18 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
<value>lkcf</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -239,6 +239,18 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
<value>lkcf</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -240,6 +240,18 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
<value>lkcf</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -240,6 +240,18 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
<value>lkcf</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -135,6 +135,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -239,6 +239,18 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
<value>lkcf</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -138,6 +138,17 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -240,6 +240,18 @@
<value>spicevmc</value>
</enum>
</channel>
<crypto supported='yes'>
<enum name='model'>
<value>virtio</value>
</enum>
<enum name='type'>
<value>qemu</value>
</enum>
<enum name='backendModel'>
<value>builtin</value>
<value>lkcf</value>
</enum>
</crypto>
</devices>
<features>
<gic supported='no'/>

View File

@ -115,6 +115,7 @@
<flag name='input-linux'/>
<flag name='virtio-blk.queue-size'/>
<flag name='usb-host.guest-resets-all'/>
<flag name='virtio-crypto'/>
<version>4002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700242</microcodeVersion>

View File

@ -118,6 +118,7 @@
<flag name='input-linux'/>
<flag name='virtio-blk.queue-size'/>
<flag name='usb-host.guest-resets-all'/>
<flag name='virtio-crypto'/>
<version>4002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900242</microcodeVersion>

View File

@ -79,6 +79,7 @@
<flag name='input-linux'/>
<flag name='virtio-blk.queue-size'/>
<flag name='usb-host.guest-resets-all'/>
<flag name='virtio-crypto'/>
<version>4002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>39100242</microcodeVersion>

View File

@ -156,6 +156,7 @@
<flag name='input-linux'/>
<flag name='virtio-blk.queue-size'/>
<flag name='usb-host.guest-resets-all'/>
<flag name='virtio-crypto'/>
<version>4002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100242</microcodeVersion>

View File

@ -127,6 +127,7 @@
<flag name='memory-backend-file.prealloc-threads'/>
<flag name='virtio-iommu-pci'/>
<flag name='usb-host.guest-resets-all'/>
<flag name='virtio-crypto'/>
<version>5000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700241</microcodeVersion>

View File

@ -133,6 +133,7 @@
<flag name='memory-backend-file.prealloc-threads'/>
<flag name='virtio-iommu-pci'/>
<flag name='usb-host.guest-resets-all'/>
<flag name='virtio-crypto'/>
<version>5000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900241</microcodeVersion>

View File

@ -119,6 +119,7 @@
<flag name='memory-backend-file.prealloc-threads'/>
<flag name='virtio-iommu-pci'/>
<flag name='usb-host.guest-resets-all'/>
<flag name='virtio-crypto'/>
<version>5000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>0</microcodeVersion>

View File

@ -165,6 +165,7 @@
<flag name='memory-backend-file.prealloc-threads'/>
<flag name='virtio-iommu-pci'/>
<flag name='usb-host.guest-resets-all'/>
<flag name='virtio-crypto'/>
<version>5000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100241</microcodeVersion>

View File

@ -169,6 +169,7 @@
<flag name='virtio-iommu-pci'/>
<flag name='virtio-net.rss'/>
<flag name='usb-host.guest-resets-all'/>
<flag name='virtio-crypto'/>
<version>5001000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100242</microcodeVersion>

View File

@ -134,6 +134,7 @@
<flag name='virtio-iommu-pci'/>
<flag name='virtio-net.rss'/>
<flag name='usb-host.guest-resets-all'/>
<flag name='virtio-crypto'/>
<version>5002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700243</microcodeVersion>

View File

@ -138,6 +138,7 @@
<flag name='virtio-iommu-pci'/>
<flag name='virtio-net.rss'/>
<flag name='usb-host.guest-resets-all'/>
<flag name='virtio-crypto'/>
<version>5002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900243</microcodeVersion>

View File

@ -124,6 +124,7 @@
<flag name='virtio-iommu-pci'/>
<flag name='virtio-net.rss'/>
<flag name='usb-host.guest-resets-all'/>
<flag name='virtio-crypto'/>
<version>5002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>0</microcodeVersion>

View File

@ -90,6 +90,7 @@
<flag name='memory-backend-file.prealloc-threads'/>
<flag name='virtio-iommu-pci'/>
<flag name='virtio-net.rss'/>
<flag name='virtio-crypto'/>
<version>5002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>39100243</microcodeVersion>

View File

@ -173,6 +173,7 @@
<flag name='virtio-iommu-pci'/>
<flag name='virtio-net.rss'/>
<flag name='usb-host.guest-resets-all'/>
<flag name='virtio-crypto'/>
<version>5002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100243</microcodeVersion>

View File

@ -143,6 +143,7 @@
<flag name='virtio-net.rss'/>
<flag name='usb-host.guest-resets-all'/>
<flag name='migration.blocked-reasons'/>
<flag name='virtio-crypto'/>
<version>6000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700242</microcodeVersion>

View File

@ -99,6 +99,7 @@
<flag name='virtio-iommu-pci'/>
<flag name='virtio-net.rss'/>
<flag name='migration.blocked-reasons'/>
<flag name='virtio-crypto'/>
<version>6000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>39100242</microcodeVersion>

View File

@ -183,6 +183,7 @@
<flag name='virtio-net.rss'/>
<flag name='usb-host.guest-resets-all'/>
<flag name='migration.blocked-reasons'/>
<flag name='virtio-crypto'/>
<version>6000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100242</microcodeVersion>

View File

@ -188,6 +188,7 @@
<flag name='chardev.qemu-vdagent'/>
<flag name='usb-host.guest-resets-all'/>
<flag name='migration.blocked-reasons'/>
<flag name='virtio-crypto'/>
<version>6001000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100243</microcodeVersion>

View File

@ -155,6 +155,7 @@
<flag name='chardev.qemu-vdagent'/>
<flag name='usb-host.guest-resets-all'/>
<flag name='migration.blocked-reasons'/>
<flag name='virtio-crypto'/>
<version>6001050</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700244</microcodeVersion>

View File

@ -149,6 +149,7 @@
<flag name='virtio-iommu-pci'/>
<flag name='virtio-net.rss'/>
<flag name='migration.blocked-reasons'/>
<flag name='virtio-crypto'/>
<version>6002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900244</microcodeVersion>

View File

@ -190,6 +190,7 @@
<flag name='chardev.qemu-vdagent'/>
<flag name='usb-host.guest-resets-all'/>
<flag name='migration.blocked-reasons'/>
<flag name='virtio-crypto'/>
<version>6002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100244</microcodeVersion>

View File

@ -163,6 +163,7 @@
<flag name='chardev.qemu-vdagent'/>
<flag name='usb-host.guest-resets-all'/>
<flag name='migration.blocked-reasons'/>
<flag name='virtio-crypto'/>
<version>6002092</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>61700243</microcodeVersion>

View File

@ -167,6 +167,7 @@
<flag name='chardev.qemu-vdagent'/>
<flag name='usb-host.guest-resets-all'/>
<flag name='migration.blocked-reasons'/>
<flag name='virtio-crypto'/>
<version>7000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900243</microcodeVersion>

View File

@ -196,6 +196,7 @@
<flag name='usb-host.guest-resets-all'/>
<flag name='migration.blocked-reasons'/>
<flag name='sgx-epc'/>
<flag name='virtio-crypto'/>
<version>7000000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100243</microcodeVersion>

View File

@ -167,6 +167,7 @@
<flag name='query-stats'/>
<flag name='query-stats-schemas'/>
<flag name='screenshot-format-png'/>
<flag name='virtio-crypto'/>
<version>7001000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>42900244</microcodeVersion>

View File

@ -199,6 +199,7 @@
<flag name='query-stats'/>
<flag name='query-stats-schemas'/>
<flag name='screenshot-format-png'/>
<flag name='virtio-crypto'/>
<version>7001000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100244</microcodeVersion>

View File

@ -202,6 +202,8 @@
<flag name='thread-context'/>
<flag name='screenshot-format-png'/>
<flag name='netdev.stream'/>
<flag name='virtio-crypto'/>
<flag name='cryptodev-backend-lkcf'/>
<version>7002000</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100245</microcodeVersion>

View File

@ -142,6 +142,7 @@
<flag name='thread-context'/>
<flag name='screenshot-format-png'/>
<flag name='netdev.stream'/>
<flag name='virtio-crypto'/>
<version>7002050</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>0</microcodeVersion>

View File

@ -202,6 +202,8 @@
<flag name='screenshot-format-png'/>
<flag name='machine-hpet'/>
<flag name='netdev.stream'/>
<flag name='virtio-crypto'/>
<flag name='cryptodev-backend-lkcf'/>
<version>7002050</version>
<kvmVersion>0</kvmVersion>
<microcodeVersion>43100244</microcodeVersion>