[PATCH] crypto: crc32c-vpmsum - Convert to CPU feature based module autoloading

Subsystems: linux for powerpc (32-bit and 64-bit), the rest

STALE3658d

6 messages, 5 authors, 2016-08-09 · open the first message on its own page

[PATCH] crypto: crc32c-vpmsum - Convert to CPU feature based module autoloading

From: Anton Blanchard <hidden>
Date: 2016-08-04 06:38:41

From: Anton Blanchard <redacted>

This patch utilises the GENERIC_CPU_AUTOPROBE infrastructure
to automatically load the crc32c-vpmsum module if the CPU supports
it.

Signed-off-by: Anton Blanchard <redacted>
---
 arch/powerpc/crypto/crc32c-vpmsum_glue.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/crypto/crc32c-vpmsum_glue.c b/arch/powerpc/crypto/crc32c-vpmsum_glue.c
index bfe3d37..9fa046d 100644
--- a/arch/powerpc/crypto/crc32c-vpmsum_glue.c
+++ b/arch/powerpc/crypto/crc32c-vpmsum_glue.c
@@ -4,6 +4,7 @@
 #include <linux/module.h>
 #include <linux/string.h>
 #include <linux/kernel.h>
+#include <linux/cpufeature.h>
 #include <asm/switch_to.h>
 
 #define CHKSUM_BLOCK_SIZE	1
@@ -157,7 +158,7 @@ static void __exit crc32c_vpmsum_mod_fini(void)
 	crypto_unregister_shash(&alg);
 }
 
-module_init(crc32c_vpmsum_mod_init);
+module_cpu_feature_match(PPC_MODULE_FEATURE_VEC_CRYPTO, crc32c_vpmsum_mod_init);
 module_exit(crc32c_vpmsum_mod_fini);
 
 MODULE_AUTHOR("Anton Blanchard <anton@samba.org>");
-- 
2.7.4

Re: [PATCH] crypto: crc32c-vpmsum - Convert to CPU feature based module autoloading

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2016-08-04 08:38:00

Anton Blanchard [off-list ref] writes:
quoted hunk
From: Anton Blanchard <redacted>

This patch utilises the GENERIC_CPU_AUTOPROBE infrastructure
to automatically load the crc32c-vpmsum module if the CPU supports
it.

Signed-off-by: Anton Blanchard <redacted>
---
 arch/powerpc/crypto/crc32c-vpmsum_glue.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/crypto/crc32c-vpmsum_glue.c b/arch/powerpc/crypto/crc32c-vpmsum_glue.c
index bfe3d37..9fa046d 100644
--- a/arch/powerpc/crypto/crc32c-vpmsum_glue.c
+++ b/arch/powerpc/crypto/crc32c-vpmsum_glue.c
@@ -4,6 +4,7 @@
 #include <linux/module.h>
 #include <linux/string.h>
 #include <linux/kernel.h>
+#include <linux/cpufeature.h>
 #include <asm/switch_to.h>
 
 #define CHKSUM_BLOCK_SIZE	1
@@ -157,7 +158,7 @@ static void __exit crc32c_vpmsum_mod_fini(void)
 	crypto_unregister_shash(&alg);
 }
 
-module_init(crc32c_vpmsum_mod_init);
+module_cpu_feature_match(PPC_MODULE_FEATURE_VEC_CRYPTO, crc32c_vpmsum_mod_init);
Is VEC_CRYPTO the right feature?

That's new power8 crypto stuff.

I thought this only used VMX? (but I haven't looked closely)

cheers

Re: [PATCH] crypto: crc32c-vpmsum - Convert to CPU feature based module autoloading

From: Anton Blanchard <hidden>
Date: 2016-08-04 10:26:01

Hi Michael,
Is VEC_CRYPTO the right feature?

That's new power8 crypto stuff.
The vpmsum* instructions are part of the same pipeline as the vcipher*
instructions, introduced in POWER8.
I thought this only used VMX? (but I haven't looked closely)
Yes, vcipher* and vpmsum* are VMX instructions.

Anton

Re: [PATCH] crypto: crc32c-vpmsum - Convert to CPU feature based module autoloading

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2016-08-05 06:51:53

Anton Blanchard [off-list ref] writes:
Hi Michael,
quoted
Is VEC_CRYPTO the right feature?

That's new power8 crypto stuff.
The vpmsum* instructions are part of the same pipeline as the vcipher*
instructions, introduced in POWER8.
OK.
quoted
I thought this only used VMX? (but I haven't looked closely)
Yes, vcipher* and vpmsum* are VMX instructions.
Right. The confusion is that we have PPC_FEATURE_HAS_ALTIVEC, but that
doesn't mean we have *these* VMX instructions.

This is actually an arch/powerpc patch, so I'll merge it unless Herbert
objects.

cheers

Re: [PATCH] crypto: crc32c-vpmsum - Convert to CPU feature based module autoloading

From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2016-08-08 15:22:42

Michael Ellerman [off-list ref] wrote:
This is actually an arch/powerpc patch, so I'll merge it unless Herbert
objects.
It's fine with me.

Cheers,
-- 
Email: Herbert Xu [off-list ref]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

Re: crypto: crc32c-vpmsum - Convert to CPU feature based module autoloading

From: Michael Ellerman <hidden>
Date: 2016-08-09 11:26:36

On Thu, 2016-04-08 at 06:38:15 UTC, Anton Blanchard wrote:
From: Anton Blanchard <redacted>

This patch utilises the GENERIC_CPU_AUTOPROBE infrastructure
to automatically load the crc32c-vpmsum module if the CPU supports
it.

Signed-off-by: Anton Blanchard <redacted>
Applied to powerpc fixes, thanks.

https://git.kernel.org/powerpc/c/d2cf5be07ff7c7cde8bef8551a

cheers
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help