Fixed efficiency pre-test on RSA prime generation (no security issue, but RSA key...
[BearSSL] / src / ssl / ssl_engine_default_aesccm.c
index b79718e..15c0a78 100644 (file)
@@ -28,7 +28,7 @@
 void
 br_ssl_engine_set_default_aes_ccm(br_ssl_engine_context *cc)
 {
-#if BR_AES_X86NI /* TODO: BR_POWER8 */
+#if BR_AES_X86NI || BR_POWER8
        const br_block_ctrcbc_class *ictrcbc;
 #endif
 
@@ -46,6 +46,17 @@ br_ssl_engine_set_default_aes_ccm(br_ssl_engine_context *cc)
                br_ssl_engine_set_aes_ctrcbc(cc, &br_aes_ct_ctrcbc_vtable);
 #endif
        }
+#elif BR_POWER8
+       ictrcbc = br_aes_pwr8_ctrcbc_get_vtable();
+       if (ictrcbc != NULL) {
+               br_ssl_engine_set_aes_ctrcbc(cc, ictrcbc);
+       } else {
+#if BR_64
+               br_ssl_engine_set_aes_ctrcbc(cc, &br_aes_ct64_ctrcbc_vtable);
+#else
+               br_ssl_engine_set_aes_ctrcbc(cc, &br_aes_ct_ctrcbc_vtable);
+#endif
+       }
 #else
 #if BR_64
        br_ssl_engine_set_aes_ctrcbc(cc, &br_aes_ct64_ctrcbc_vtable);