Hi,> > > > +source "drivers/crypto/virtio/Kconfig" > > > > + > > > > endif # CRYPTO_HW > > > > diff --git a/drivers/crypto/Makefile b/drivers/crypto/Makefile > > > > index ad7250f..bc53cb8 100644 > > > > --- a/drivers/crypto/Makefile > > > > +++ b/drivers/crypto/Makefile > > > > @@ -32,3 +32,4 @@ obj-$(CONFIG_CRYPTO_DEV_VMX) += vmx/ > > > > obj-$(CONFIG_CRYPTO_DEV_SUN4I_SS) += sunxi-ss/ > > > > obj-$(CONFIG_CRYPTO_DEV_ROCKCHIP) += rockchip/ > > > > obj-$(CONFIG_CRYPTO_DEV_CHELSIO) += chelsio/ > > > > +obj-$(CONFIG_CRYPTO_DEV_VIRTIO) += virtio/ > > > > diff --git a/drivers/crypto/virtio/Kconfig b/drivers/crypto/virtio/Kconfig > > > > new file mode 100644 > > > > index 0000000..ceae88c > > > > --- /dev/null > > > > +++ b/drivers/crypto/virtio/Kconfig > > > > @@ -0,0 +1,10 @@ > > > > +config CRYPTO_DEV_VIRTIO > > > > + tristate "VirtIO crypto driver" > > > > + depends on VIRTIO > > > > + select CRYPTO_AEAD > > > > + select CRYPTO_AUTHENC > > > > + select CRYPTO_BLKCIPHER > > > > > > Inconsistent tab vs space whitespace usage. > > > > Will fix. > > > > > + default m > > > > + help > > > > + This driver provides support for virtio crypto device. If you > > > > + choose 'M' here, this module will be called virtio-crypto. > > > > > > All the other virtio drivers use underscore ('_') instead of hyphen > > > ('-'). > > > > Except virtio-rng. > > > > > I suggest calling it virtio_crypto for consistency. > > > > OK, I will change the Makefile to fix it. >I tried to do this, but I failed. Because virtio_crypto.ko consists of more than one source file which include tree files currently, and virtio_crypto.ko matchs the name of virtio_crypto.c. That's different with all other virtio drivers. The Makefile can't address this situation well, I googled it, and I find a way in http://stackoverflow.com/questions/13606075/building-a-kernel-module-from-several-source-files-which-one-of-them-has-the-sam Proper way to fix in kernel make file would be as: # obj-m += module.o #append other source files except module.c which would be include by default module-objs += src1.o src2.o Unfortunately it doesn't work because virtio_crypto.c isn't compiled. # insmod virtio_crypto.ko insmod: ERROR: could not insert module virtio_crypto.ko: Unknown symbol in module # dmesg [74339.311801] virtio_crypto: Unknown symbol virtqueue_is_broken (err 0) [74339.311816] virtio_crypto: Unknown symbol crypto_register_algs (err 0) [74339.311833] virtio_crypto: Unknown symbol virtqueue_add_sgs (err 0) [74339.311839] virtio_crypto: Unknown symbol virtqueue_get_buf (err 0) [74339.311844] virtio_crypto: Unknown symbol virtqueue_kick (err 0) [74339.311854] virtio_crypto: Unknown symbol crypto_ablkcipher_type (err 0) [74339.311860] virtio_crypto: Unknown symbol crypto_unregister_algs (err 0) It seems that I have no choice but to name the module to 'virtio-crypto' for simplicity. Regards, -Gonglei
On Tue, Nov 29, 2016 at 08:22:58AM +0000, Gonglei (Arei) wrote:> Hi, > > > > > > +source "drivers/crypto/virtio/Kconfig" > > > > > + > > > > > endif # CRYPTO_HW > > > > > diff --git a/drivers/crypto/Makefile b/drivers/crypto/Makefile > > > > > index ad7250f..bc53cb8 100644 > > > > > --- a/drivers/crypto/Makefile > > > > > +++ b/drivers/crypto/Makefile > > > > > @@ -32,3 +32,4 @@ obj-$(CONFIG_CRYPTO_DEV_VMX) += vmx/ > > > > > obj-$(CONFIG_CRYPTO_DEV_SUN4I_SS) += sunxi-ss/ > > > > > obj-$(CONFIG_CRYPTO_DEV_ROCKCHIP) += rockchip/ > > > > > obj-$(CONFIG_CRYPTO_DEV_CHELSIO) += chelsio/ > > > > > +obj-$(CONFIG_CRYPTO_DEV_VIRTIO) += virtio/ > > > > > diff --git a/drivers/crypto/virtio/Kconfig b/drivers/crypto/virtio/Kconfig > > > > > new file mode 100644 > > > > > index 0000000..ceae88c > > > > > --- /dev/null > > > > > +++ b/drivers/crypto/virtio/Kconfig > > > > > @@ -0,0 +1,10 @@ > > > > > +config CRYPTO_DEV_VIRTIO > > > > > + tristate "VirtIO crypto driver" > > > > > + depends on VIRTIO > > > > > + select CRYPTO_AEAD > > > > > + select CRYPTO_AUTHENC > > > > > + select CRYPTO_BLKCIPHER > > > > > > > > Inconsistent tab vs space whitespace usage. > > > > > > Will fix. > > > > > > > + default m > > > > > + help > > > > > + This driver provides support for virtio crypto device. If you > > > > > + choose 'M' here, this module will be called virtio-crypto. > > > > > > > > All the other virtio drivers use underscore ('_') instead of hyphen > > > > ('-'). > > > > > > Except virtio-rng. > > > > > > > I suggest calling it virtio_crypto for consistency. > > > > > > OK, I will change the Makefile to fix it. > > > > I tried to do this, but I failed. Because virtio_crypto.ko > consists of more than one source file which include tree files currently, > and virtio_crypto.ko matchs the name of virtio_crypto.c. > That's different with all other virtio drivers.Can you rename virtio_crypto.c to virtio_crypto_core.c? I'm not very familiar with the kernel Makefile infrastructure so maybe there's a better way of doing it. Stefan -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 455 bytes Desc: not available URL: <http://lists.linuxfoundation.org/pipermail/virtualization/attachments/20161129/cd7a9eda/attachment.sig>
On Tue, 29 Nov 2016 09:25:49 +0000 Stefan Hajnoczi <stefanha at redhat.com> wrote:> On Tue, Nov 29, 2016 at 08:22:58AM +0000, Gonglei (Arei) wrote: > > Hi, > > > > > > > > +source "drivers/crypto/virtio/Kconfig" > > > > > > + > > > > > > endif # CRYPTO_HW > > > > > > diff --git a/drivers/crypto/Makefile b/drivers/crypto/Makefile > > > > > > index ad7250f..bc53cb8 100644 > > > > > > --- a/drivers/crypto/Makefile > > > > > > +++ b/drivers/crypto/Makefile > > > > > > @@ -32,3 +32,4 @@ obj-$(CONFIG_CRYPTO_DEV_VMX) += vmx/ > > > > > > obj-$(CONFIG_CRYPTO_DEV_SUN4I_SS) += sunxi-ss/ > > > > > > obj-$(CONFIG_CRYPTO_DEV_ROCKCHIP) += rockchip/ > > > > > > obj-$(CONFIG_CRYPTO_DEV_CHELSIO) += chelsio/ > > > > > > +obj-$(CONFIG_CRYPTO_DEV_VIRTIO) += virtio/ > > > > > > diff --git a/drivers/crypto/virtio/Kconfig b/drivers/crypto/virtio/Kconfig > > > > > > new file mode 100644 > > > > > > index 0000000..ceae88c > > > > > > --- /dev/null > > > > > > +++ b/drivers/crypto/virtio/Kconfig > > > > > > @@ -0,0 +1,10 @@ > > > > > > +config CRYPTO_DEV_VIRTIO > > > > > > + tristate "VirtIO crypto driver" > > > > > > + depends on VIRTIO > > > > > > + select CRYPTO_AEAD > > > > > > + select CRYPTO_AUTHENC > > > > > > + select CRYPTO_BLKCIPHER > > > > > > > > > > Inconsistent tab vs space whitespace usage. > > > > > > > > Will fix. > > > > > > > > > + default m > > > > > > + help > > > > > > + This driver provides support for virtio crypto device. If you > > > > > > + choose 'M' here, this module will be called virtio-crypto. > > > > > > > > > > All the other virtio drivers use underscore ('_') instead of hyphen > > > > > ('-'). > > > > > > > > Except virtio-rng. > > > > > > > > > I suggest calling it virtio_crypto for consistency. > > > > > > > > OK, I will change the Makefile to fix it. > > > > > > > I tried to do this, but I failed. Because virtio_crypto.ko > > consists of more than one source file which include tree files currently, > > and virtio_crypto.ko matchs the name of virtio_crypto.c. > > That's different with all other virtio drivers. > > Can you rename virtio_crypto.c to virtio_crypto_core.c?+1 I think that's the way to go.
> > On Tue, Nov 29, 2016 at 08:22:58AM +0000, Gonglei (Arei) wrote: > > Hi, > > > > > > > > +source "drivers/crypto/virtio/Kconfig" > > > > > > + > > > > > > endif # CRYPTO_HW > > > > > > diff --git a/drivers/crypto/Makefile b/drivers/crypto/Makefile > > > > > > index ad7250f..bc53cb8 100644 > > > > > > --- a/drivers/crypto/Makefile > > > > > > +++ b/drivers/crypto/Makefile > > > > > > @@ -32,3 +32,4 @@ obj-$(CONFIG_CRYPTO_DEV_VMX) += vmx/ > > > > > > obj-$(CONFIG_CRYPTO_DEV_SUN4I_SS) += sunxi-ss/ > > > > > > obj-$(CONFIG_CRYPTO_DEV_ROCKCHIP) += rockchip/ > > > > > > obj-$(CONFIG_CRYPTO_DEV_CHELSIO) += chelsio/ > > > > > > +obj-$(CONFIG_CRYPTO_DEV_VIRTIO) += virtio/ > > > > > > diff --git a/drivers/crypto/virtio/Kconfig b/drivers/crypto/virtio/Kconfig > > > > > > new file mode 100644 > > > > > > index 0000000..ceae88c > > > > > > --- /dev/null > > > > > > +++ b/drivers/crypto/virtio/Kconfig > > > > > > @@ -0,0 +1,10 @@ > > > > > > +config CRYPTO_DEV_VIRTIO > > > > > > + tristate "VirtIO crypto driver" > > > > > > + depends on VIRTIO > > > > > > + select CRYPTO_AEAD > > > > > > + select CRYPTO_AUTHENC > > > > > > + select CRYPTO_BLKCIPHER > > > > > > > > > > Inconsistent tab vs space whitespace usage. > > > > > > > > Will fix. > > > > > > > > > + default m > > > > > > + help > > > > > > + This driver provides support for virtio crypto device. If you > > > > > > + choose 'M' here, this module will be called virtio-crypto. > > > > > > > > > > All the other virtio drivers use underscore ('_') instead of hyphen > > > > > ('-'). > > > > > > > > Except virtio-rng. > > > > > > > > > I suggest calling it virtio_crypto for consistency. > > > > > > > > OK, I will change the Makefile to fix it. > > > > > > > I tried to do this, but I failed. Because virtio_crypto.ko > > consists of more than one source file which include tree files currently, > > and virtio_crypto.ko matchs the name of virtio_crypto.c. > > That's different with all other virtio drivers. > > Can you rename virtio_crypto.c to virtio_crypto_core.c? >I'm fine with virtio_crypto_core.c. What about you? Michael? Regards, -Gonglei> I'm not very familiar with the kernel Makefile infrastructure so maybe > there's a better way of doing it. > > Stefan