1*64269a86SLoic Poulain // SPDX-License-Identifier: GPL-2.0-only 2*64269a86SLoic Poulain /* 3*64269a86SLoic Poulain * sha256_ce_glue.c - SHA-256 secure hash using ARMv8 Crypto Extensions 4*64269a86SLoic Poulain * 5*64269a86SLoic Poulain * Copyright (C) 2022 Linaro Ltd <loic.poulain@linaro.org> 6*64269a86SLoic Poulain */ 7*64269a86SLoic Poulain 8*64269a86SLoic Poulain #include <common.h> 9*64269a86SLoic Poulain #include <u-boot/sha256.h> 10*64269a86SLoic Poulain 11*64269a86SLoic Poulain extern void sha256_armv8_ce_process(uint32_t state[8], uint8_t const *src, 12*64269a86SLoic Poulain uint32_t blocks); 13*64269a86SLoic Poulain sha256_process(sha256_context * ctx,const unsigned char * data,unsigned int blocks)14*64269a86SLoic Poulainvoid sha256_process(sha256_context *ctx, const unsigned char *data, 15*64269a86SLoic Poulain unsigned int blocks) 16*64269a86SLoic Poulain { 17*64269a86SLoic Poulain if (!blocks) 18*64269a86SLoic Poulain return; 19*64269a86SLoic Poulain 20*64269a86SLoic Poulain sha256_armv8_ce_process(ctx->state, data, blocks); 21*64269a86SLoic Poulain } 22