1*8617a60dSAndroid Build Coastguard Worker /* Copyright 2023 The ChromiumOS Authors
2*8617a60dSAndroid Build Coastguard Worker * Use of this source code is governed by a BSD-style license that can be
3*8617a60dSAndroid Build Coastguard Worker * found in the LICENSE file.
4*8617a60dSAndroid Build Coastguard Worker *
5*8617a60dSAndroid Build Coastguard Worker * SHA256 implementation using ARMv8 Cryptography Extension.
6*8617a60dSAndroid Build Coastguard Worker */
7*8617a60dSAndroid Build Coastguard Worker
8*8617a60dSAndroid Build Coastguard Worker #include "2common.h"
9*8617a60dSAndroid Build Coastguard Worker #include "2sha.h"
10*8617a60dSAndroid Build Coastguard Worker #include "2sha_private.h"
11*8617a60dSAndroid Build Coastguard Worker #include "2api.h"
12*8617a60dSAndroid Build Coastguard Worker
13*8617a60dSAndroid Build Coastguard Worker const uint32_t vb2_hash_seq[8] = {0, 1, 2, 3, 4, 5, 6, 7};
14*8617a60dSAndroid Build Coastguard Worker
15*8617a60dSAndroid Build Coastguard Worker int sha256_ce_transform(uint32_t *state, const unsigned char *buf, int blocks);
16*8617a60dSAndroid Build Coastguard Worker
vb2_sha256_transform_hwcrypto(const uint8_t * message,unsigned int block_nb)17*8617a60dSAndroid Build Coastguard Worker void vb2_sha256_transform_hwcrypto(const uint8_t *message,
18*8617a60dSAndroid Build Coastguard Worker unsigned int block_nb)
19*8617a60dSAndroid Build Coastguard Worker {
20*8617a60dSAndroid Build Coastguard Worker if (block_nb)
21*8617a60dSAndroid Build Coastguard Worker sha256_ce_transform(vb2_sha_ctx.h, message, block_nb);
22*8617a60dSAndroid Build Coastguard Worker }
23