summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2004-06-15 23:41:50 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2004-06-15 23:41:50 +0000
commitfd1341739af0f03470417646d8fbb88ea0368e22 (patch)
tree6143e267b53adc1b09b24b37d3e2b765689f773b
parent840af56478d680c6217cd84de9404db219ea196f (diff)
machdep.xcrypt now has a different meaning: Instead of > 0 indicating
that AES is there, we now have 3 flag bits: C3_HAS_AES, C3_HAS_SHA (SHA1 & SHA256), and C3_HAS_MM (RSA). Change this code to only look at C3_HAS_AES for now.
-rw-r--r--lib/libcrypto/engine/hw_cryptodev.c30
1 files changed, 16 insertions, 14 deletions
diff --git a/lib/libcrypto/engine/hw_cryptodev.c b/lib/libcrypto/engine/hw_cryptodev.c
index 21de0a9fdd0..d12d23d9fc2 100644
--- a/lib/libcrypto/engine/hw_cryptodev.c
+++ b/lib/libcrypto/engine/hw_cryptodev.c
@@ -744,20 +744,22 @@ check_viac3aes(void)
if (value == 0)
return (0);
- cryptodev_aes_128_cbc.init = xcrypt_init_key;
- cryptodev_aes_128_cbc.do_cipher = xcrypt_cipher;
- cryptodev_aes_128_cbc.cleanup = xcrypt_cleanup;
- cryptodev_aes_128_cbc.ctx_size = sizeof(AES_KEY);
-
- cryptodev_aes_192_cbc.init = xcrypt_init_key;
- cryptodev_aes_192_cbc.do_cipher = xcrypt_cipher;
- cryptodev_aes_192_cbc.cleanup = xcrypt_cleanup;
- cryptodev_aes_192_cbc.ctx_size = sizeof(AES_KEY);
-
- cryptodev_aes_256_cbc.init = xcrypt_init_key;
- cryptodev_aes_256_cbc.do_cipher = xcrypt_cipher;
- cryptodev_aes_256_cbc.cleanup = xcrypt_cleanup;
- cryptodev_aes_256_cbc.ctx_size = sizeof(AES_KEY);
+ if (value & C3_HAS_AES) {
+ cryptodev_aes_128_cbc.init = xcrypt_init_key;
+ cryptodev_aes_128_cbc.do_cipher = xcrypt_cipher;
+ cryptodev_aes_128_cbc.cleanup = xcrypt_cleanup;
+ cryptodev_aes_128_cbc.ctx_size = sizeof(AES_KEY);
+
+ cryptodev_aes_192_cbc.init = xcrypt_init_key;
+ cryptodev_aes_192_cbc.do_cipher = xcrypt_cipher;
+ cryptodev_aes_192_cbc.cleanup = xcrypt_cleanup;
+ cryptodev_aes_192_cbc.ctx_size = sizeof(AES_KEY);
+
+ cryptodev_aes_256_cbc.init = xcrypt_init_key;
+ cryptodev_aes_256_cbc.do_cipher = xcrypt_cipher;
+ cryptodev_aes_256_cbc.cleanup = xcrypt_cleanup;
+ cryptodev_aes_256_cbc.ctx_size = sizeof(AES_KEY);
+ }
return (value);
}
#endif /* __i386__ */