Hi, > -----Original Message----- > From: Gonglei (Arei) > Sent: Tuesday, November 22, 2016 4:10 PM > To: linux-kernel@xxxxxxxxxxxxxxx; qemu-devel@xxxxxxxxxx; > virtio-dev@xxxxxxxxxxxxxxxxxxxx; virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx; > linux-crypto@xxxxxxxxxxxxxxx > Subject: [PATCH v2 0/2] virtio-crypto: add Linux driver > > The virtio crypto device is a virtual cryptography device > as well as a kind of virtual hardware accelerator for > virtual machines. The encryption anddecryption requests > are placed in the data queue and are ultimately handled by > thebackend crypto accelerators. The second queue is the > control queue used to create or destroy sessions for > symmetric algorithms and will control some advanced features > in the future. The virtio crypto device provides the following > cryptoservices: CIPHER, MAC, HASH, and AEAD. > > For more information about virtio-crypto device, please see: > http://qemu-project.org/Features/VirtioCrypto > > For better reviewing: > > Patch 1 introduces the little edian functions for VIRTIO_1 > devices. > > Patch 2 mainly includes five files: > 1) virtio_crypto.h is the header file for virtio-crypto device, > which is based on the virtio-crypto specification. > 2) virtio_crypto.c is the entry of the driver module, > which is similar with other virtio devices, such as virtio-net, > virtio-input etc. > 3) virtio_crypto_mgr.c is used to manage the virtio > crypto devices in the system. We support up to 32 virtio-crypto > devices currently. I use a global list to store the virtio crypto > devices which refer to Intel QAT driver. Meanwhile, the file > includs the functions of add/del/search/start/stop for virtio > crypto devices. > 4) virtio_crypto_common.h is a private header file for virtio > crypto driver, includes structure definations, and function declarations. > 5) virtio_crypto_algs.c is the realization of algs based on Linux Crypto > Framwork, > which can register different crypto algorithms. Currently it's only support > AES-CBC. > The Crypto guys can mainly focus to this file. > > Actually I have no idea the virtio-crypto driver should be gone in whose > tree, Michael's or Herbert's? > > Would you give me a feedback? Thanks a lot! > Ping? Any ideas? Thanks. Regards, -Gonglei > > v2: > - stop doing DMA from the stack, CONFIG_VMAP_STACK=y [Salvatore] > - convert __virtio32/64 to __le32/64 in virtio_crypto.h > - remove VIRTIO_CRYPTO_S_STARTED based on the lastest virtio crypto spec. > - introduces the little edian functions for VIRTIO_1 devices in patch 1. > > Gonglei (2): > virtio: introduce little edian functions for virtio_cread/write# > family > crypto: add virtio-crypto driver > > MAINTAINERS | 8 + > drivers/crypto/Kconfig | 2 + > drivers/crypto/Makefile | 1 + > drivers/crypto/virtio/Kconfig | 10 + > drivers/crypto/virtio/Makefile | 5 + > drivers/crypto/virtio/virtio_crypto.c | 444 > +++++++++++++++++++++++ > drivers/crypto/virtio/virtio_crypto_algs.c | 524 > +++++++++++++++++++++++++++ > drivers/crypto/virtio/virtio_crypto_common.h | 124 +++++++ > drivers/crypto/virtio/virtio_crypto_mgr.c | 258 +++++++++++++ > include/linux/virtio_config.h | 45 +++ > include/uapi/linux/Kbuild | 1 + > include/uapi/linux/virtio_crypto.h | 435 > ++++++++++++++++++++++ > include/uapi/linux/virtio_ids.h | 1 + > 13 files changed, 1858 insertions(+) > create mode 100644 drivers/crypto/virtio/Kconfig > create mode 100644 drivers/crypto/virtio/Makefile > create mode 100644 drivers/crypto/virtio/virtio_crypto.c > create mode 100644 drivers/crypto/virtio/virtio_crypto_algs.c > create mode 100644 drivers/crypto/virtio/virtio_crypto_common.h > create mode 100644 drivers/crypto/virtio/virtio_crypto_mgr.c > create mode 100644 include/uapi/linux/virtio_crypto.h > > -- > 1.8.3.1 > -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html