From: Gonglei <arei.gonglei@huawei.com>
We enable all feature bits acquiescently.
Signed-off-by: Gonglei <arei.gonglei@huawei.com>
---
hw/virtio/virtio-crypto.c | 15 +++++++++++++++
include/hw/virtio/virtio-crypto.h | 1 +
2 files changed, 16 insertions(+)
diff --git a/hw/virtio/virtio-crypto.c b/hw/virtio/virtio-crypto.c
index e46c4a3..8f27a86 100644
--- a/hw/virtio/virtio-crypto.c
+++ b/hw/virtio/virtio-crypto.c
@@ -1069,6 +1069,11 @@ static uint64_t virtio_crypto_get_features(VirtIODevice *vdev,
uint64_t features,
Error **errp)
{
+ VirtIOCrypto *vcrypto = VIRTIO_CRYPTO(vdev);
+
+ /* Firstly sync all virtio-crypto possible supported features */
+ features |= vcrypto->host_features;
+
return features;
}
@@ -1184,6 +1189,16 @@ static const VMStateDescription vmstate_virtio_crypto = {
};
static Property virtio_crypto_properties[] = {
+ DEFINE_PROP_BIT("mux_mode", VirtIOCrypto, host_features,
+ VIRTIO_CRYPTO_F_MUX_MODE, true),
+ DEFINE_PROP_BIT("cipher_stateless_mode", VirtIOCrypto, host_features,
+ VIRTIO_CRYPTO_F_CIPHER_STATELESS_MODE, true),
+ DEFINE_PROP_BIT("hash_stateless_mode", VirtIOCrypto, host_features,
+ VIRTIO_CRYPTO_F_HASH_STATELESS_MODE, true),
+ DEFINE_PROP_BIT("mac_stateless_mode", VirtIOCrypto, host_features,
+ VIRTIO_CRYPTO_F_MAC_STATELESS_MODE, true),
+ DEFINE_PROP_BIT("aead_stateless_mode", VirtIOCrypto, host_features,
+ VIRTIO_CRYPTO_F_AEAD_STATELESS_MODE, true),
DEFINE_PROP_LINK("cryptodev", VirtIOCrypto, conf.cryptodev,
TYPE_CRYPTODEV_BACKEND, CryptoDevBackend *),
DEFINE_PROP_END_OF_LIST(),
diff --git a/include/hw/virtio/virtio-crypto.h b/include/hw/virtio/virtio-crypto.h
index 465ad20..30ea51d 100644
--- a/include/hw/virtio/virtio-crypto.h
+++ b/include/hw/virtio/virtio-crypto.h
@@ -97,6 +97,7 @@ typedef struct VirtIOCrypto {
int multiqueue;
uint32_t curr_queues;
size_t config_size;
+ uint32_t host_features;
} VirtIOCrypto;
#endif /* _QEMU_VIRTIO_CRYPTO_H */
--
1.8.3.1