Commit f2169370 authored by Manish V Badarkhe's avatar Manish V Badarkhe
Browse files

feat(sw_crc32): add software CRC32 support



Added software CRC32 support in case platform doesn't support
hardware CRC32.

Platform must include necessary Zlib source files for compilation
to use software CRC32 implementation.

Change-Id: Iecb649b2edf951944b1a7e4c250c40fe7a3bde25
Signed-off-by: default avatarManish V Badarkhe <Manish.Badarkhe@arm.com>
parent c885d5c8
/*
* Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
* Copyright (c) 2018-2021, ARM Limited and Contributors. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
......@@ -9,6 +9,7 @@
#include <string.h>
#include <common/debug.h>
#include <common/tf_crc32.h>
#include <lib/utils.h>
#include <tf_gunzip.h>
......@@ -100,3 +101,15 @@ int gunzip(uintptr_t *in_buf, size_t in_len, uintptr_t *out_buf,
return ret;
}
/* Wrapper function to calculate CRC
* @crc: previous accumulated CRC
* @buf: buffer base address
* @size: size of the buffer
*
* Return calculated CRC32 value
*/
uint32_t tf_crc32(uint32_t crc, const unsigned char *buf, size_t size)
{
return (uint32_t)crc32((unsigned long)crc, buf, size);
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment