|
@@ -119,6 +119,7 @@ static int p8_ghash_setkey(struct crypto_shash *tfm, const u8 *key,
|
|
|
preempt_disable();
|
|
|
pagefault_disable();
|
|
|
enable_kernel_altivec();
|
|
|
+ enable_kernel_vsx();
|
|
|
enable_kernel_fp();
|
|
|
gcm_init_p8(ctx->htable, (const u64 *) key);
|
|
|
pagefault_enable();
|
|
@@ -149,6 +150,7 @@ static int p8_ghash_update(struct shash_desc *desc,
|
|
|
preempt_disable();
|
|
|
pagefault_disable();
|
|
|
enable_kernel_altivec();
|
|
|
+ enable_kernel_vsx();
|
|
|
enable_kernel_fp();
|
|
|
gcm_ghash_p8(dctx->shash, ctx->htable,
|
|
|
dctx->buffer, GHASH_DIGEST_SIZE);
|
|
@@ -163,6 +165,7 @@ static int p8_ghash_update(struct shash_desc *desc,
|
|
|
preempt_disable();
|
|
|
pagefault_disable();
|
|
|
enable_kernel_altivec();
|
|
|
+ enable_kernel_vsx();
|
|
|
enable_kernel_fp();
|
|
|
gcm_ghash_p8(dctx->shash, ctx->htable, src, len);
|
|
|
pagefault_enable();
|
|
@@ -193,6 +196,7 @@ static int p8_ghash_final(struct shash_desc *desc, u8 *out)
|
|
|
preempt_disable();
|
|
|
pagefault_disable();
|
|
|
enable_kernel_altivec();
|
|
|
+ enable_kernel_vsx();
|
|
|
enable_kernel_fp();
|
|
|
gcm_ghash_p8(dctx->shash, ctx->htable,
|
|
|
dctx->buffer, GHASH_DIGEST_SIZE);
|