Messages in this thread | | | Subject | Re: [RFC v1 1/2] crypto/virtio-crypto: Read crypto services and algorithm masks | From | Farhan Ali <> | Date | Tue, 12 Jun 2018 13:06:35 -0400 |
| |
Hi Arei
On 06/11/2018 02:43 AM, Gonglei (Arei) wrote: > >> -----Original Message----- >> From: Farhan Ali [mailto:alifm@linux.ibm.com] >> Sent: Saturday, June 09, 2018 3:09 AM >> To: linux-kernel@vger.kernel.org; kvm@vger.kernel.org >> Cc: mst@redhat.com; qemu-devel@nongnu.org; Gonglei (Arei) >> <arei.gonglei@huawei.com>; longpeng <longpeng2@huawei.com>; >> pasic@linux.ibm.com; frankja@linux.ibm.com; borntraeger@de.ibm.com; >> alifm@linux.ibm.com >> Subject: [RFC v1 1/2] crypto/virtio-crypto: Read crypto services and algorithm >> masks >> >> Read the crypto services and algorithm masks which provides >> information about the services and algorithms supported by >> virtio-crypto backend. >> >> Signed-off-by: Farhan Ali <alifm@linux.ibm.com> >> --- >> drivers/crypto/virtio/virtio_crypto_common.h | 14 ++++++++++++++ >> drivers/crypto/virtio/virtio_crypto_core.c | 29 >> ++++++++++++++++++++++++++++ >> 2 files changed, 43 insertions(+) >> >> diff --git a/drivers/crypto/virtio/virtio_crypto_common.h >> b/drivers/crypto/virtio/virtio_crypto_common.h >> index 66501a5..05eca12e 100644 >> --- a/drivers/crypto/virtio/virtio_crypto_common.h >> +++ b/drivers/crypto/virtio/virtio_crypto_common.h >> @@ -55,6 +55,20 @@ struct virtio_crypto { >> /* Number of queue currently used by the driver */ >> u32 curr_queue; >> >> + /* >> + * Specifies the services mask which the device support, >> + * see VIRTIO_CRYPTO_SERVICE_* above >> + */ > > Pls update the above comments. Except that: > > Acked-by: Gonglei <arei.gonglei@huawei.com> >
Sure will update the comment. How about " Specifies the services mask which the device support, * see VIRTIO_CRYPTO_SERVICE_*" ?
or should I specify the file where the VIRTIO_CRYPTO_SERVICE_* are defined?
Thanks Farhan
>> + u32 crypto_services; >> + >> + /* Detailed algorithms mask */ >> + u32 cipher_algo_l; >> + u32 cipher_algo_h; >> + u32 hash_algo; >> + u32 mac_algo_l; >> + u32 mac_algo_h; >> + u32 aead_algo; >> + >> /* Maximum length of cipher key */ >> u32 max_cipher_key_len; >> /* Maximum length of authenticated key */ >> diff --git a/drivers/crypto/virtio/virtio_crypto_core.c >> b/drivers/crypto/virtio/virtio_crypto_core.c >> index 8332698..8f745f2 100644 >> --- a/drivers/crypto/virtio/virtio_crypto_core.c >> +++ b/drivers/crypto/virtio/virtio_crypto_core.c >> @@ -303,6 +303,13 @@ static int virtcrypto_probe(struct virtio_device *vdev) >> u32 max_data_queues = 0, max_cipher_key_len = 0; >> u32 max_auth_key_len = 0; >> u64 max_size = 0; >> + u32 cipher_algo_l = 0; >> + u32 cipher_algo_h = 0; >> + u32 hash_algo = 0; >> + u32 mac_algo_l = 0; >> + u32 mac_algo_h = 0; >> + u32 aead_algo = 0; >> + u32 crypto_services = 0; >> >> if (!virtio_has_feature(vdev, VIRTIO_F_VERSION_1)) >> return -ENODEV; >> @@ -339,6 +346,20 @@ static int virtcrypto_probe(struct virtio_device *vdev) >> max_auth_key_len, &max_auth_key_len); >> virtio_cread(vdev, struct virtio_crypto_config, >> max_size, &max_size); >> + virtio_cread(vdev, struct virtio_crypto_config, >> + crypto_services, &crypto_services); >> + virtio_cread(vdev, struct virtio_crypto_config, >> + cipher_algo_l, &cipher_algo_l); >> + virtio_cread(vdev, struct virtio_crypto_config, >> + cipher_algo_h, &cipher_algo_h); >> + virtio_cread(vdev, struct virtio_crypto_config, >> + hash_algo, &hash_algo); >> + virtio_cread(vdev, struct virtio_crypto_config, >> + mac_algo_l, &mac_algo_l); >> + virtio_cread(vdev, struct virtio_crypto_config, >> + mac_algo_h, &mac_algo_h); >> + virtio_cread(vdev, struct virtio_crypto_config, >> + aead_algo, &aead_algo); >> >> /* Add virtio crypto device to global table */ >> err = virtcrypto_devmgr_add_dev(vcrypto); >> @@ -358,6 +379,14 @@ static int virtcrypto_probe(struct virtio_device *vdev) >> vcrypto->max_cipher_key_len = max_cipher_key_len; >> vcrypto->max_auth_key_len = max_auth_key_len; >> vcrypto->max_size = max_size; >> + vcrypto->crypto_services = crypto_services; >> + vcrypto->cipher_algo_l = cipher_algo_l; >> + vcrypto->cipher_algo_h = cipher_algo_h; >> + vcrypto->mac_algo_l = mac_algo_l; >> + vcrypto->mac_algo_h = mac_algo_h; >> + vcrypto->hash_algo = hash_algo; >> + vcrypto->aead_algo = aead_algo; >> + >> >> dev_info(&vdev->dev, >> "max_queues: %u, max_cipher_key_len: %u, max_auth_key_len: %u, >> max_size 0x%llx\n", >> -- >> 2.7.4 > >
| |