X-Git-Url: https://www.bearssl.org/gitweb//home/git/?p=BearSSL;a=blobdiff_plain;f=src%2Fssl%2Fssl_engine_default_aesccm.c;h=15c0a78f0f44da86aabc3c7ffb941dac0f9593dc;hp=b79718e859a7a1412fefcc74ead54ed521e5b10f;hb=79b1a9996c094ff593ae50bc4edc1f349f39dd6d;hpb=e37c90ac68c4a42417e0302343de87c9e340803e;ds=sidebyside diff --git a/src/ssl/ssl_engine_default_aesccm.c b/src/ssl/ssl_engine_default_aesccm.c index b79718e..15c0a78 100644 --- a/src/ssl/ssl_engine_default_aesccm.c +++ b/src/ssl/ssl_engine_default_aesccm.c @@ -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);