diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/include/usr/hwpf/fapi/fapiUtil.H | 17 | ||||
-rw-r--r-- | src/include/usr/hwpf/plat/fapiPlatUtil.H | 17 |
2 files changed, 31 insertions, 3 deletions
diff --git a/src/include/usr/hwpf/fapi/fapiUtil.H b/src/include/usr/hwpf/fapi/fapiUtil.H index f2f36dee5..470d78fec 100644 --- a/src/include/usr/hwpf/fapi/fapiUtil.H +++ b/src/include/usr/hwpf/fapi/fapiUtil.H @@ -5,7 +5,9 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* COPYRIGHT International Business Machines Corp. 2011,2014 */ +/* Contributors Listed Below - COPYRIGHT 2011,2014 */ +/* [+] International Business Machines Corp. */ +/* */ /* */ /* Licensed under the Apache License, Version 2.0 (the "License"); */ /* you may not use this file except in compliance with the License. */ @@ -20,7 +22,7 @@ /* permissions and limitations under the License. */ /* */ /* IBM_PROLOG_END_TAG */ -// $Id: fapiUtil.H,v 1.20 2014/01/20 22:37:52 mklight Exp $ +// $Id: fapiUtil.H,v 1.21 2014/09/16 14:47:23 pragupta Exp $ // $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/hwpf/working/fapi/fapiUtil.H,v $ /** @@ -50,6 +52,7 @@ * mjjones 09/24/2013 Update fapiLogError to * accept another parameter * dcrowell 10/14/2013 Add explicit inline + * pragupta 09/16/2014 Add fapi gen hash function */ #ifndef FAPIUTIL_H_ @@ -58,6 +61,15 @@ #include <stdint.h> #include <stddef.h> #include <fapiReturnCode.H> + +namespace fapi +{ + namespace hash + { + enum validHashes { CRC32 }; + } +}; + #include <fapiPlatUtil.H> // Defines for endian convertion @@ -80,6 +92,7 @@ #define fapiMalloc(s) fapiPlatMalloc(s) #define fapiFree(p) fapiPlatFree(p) +#define FAPI_GEN_HASH(type, data, size) FAPI_PLAT_GEN_HASH(type,data,size) // It is an eCMD requirement that these functions have a "C" symbol // because they may be used from a dynamically linked shared library extern "C" diff --git a/src/include/usr/hwpf/plat/fapiPlatUtil.H b/src/include/usr/hwpf/plat/fapiPlatUtil.H index 76514fb2f..bdd7549bd 100644 --- a/src/include/usr/hwpf/plat/fapiPlatUtil.H +++ b/src/include/usr/hwpf/plat/fapiPlatUtil.H @@ -5,7 +5,9 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* COPYRIGHT International Business Machines Corp. 2011,2014 */ +/* Contributors Listed Below - COPYRIGHT 2013,2014 */ +/* [+] International Business Machines Corp. */ +/* */ /* */ /* Licensed under the Apache License, Version 2.0 (the "License"); */ /* you may not use this file except in compliance with the License. */ @@ -40,6 +42,19 @@ #include <endian.h> #include <stdlib.h> +#include <util/crc32.H> + +#define FAPI_PLAT_GEN_HASH(type, data, size) fapiPlatGenHash<type>(data,size) + +template <uint32_t T> uint32_t fapiPlatGenHash + (const void* i_data, size_t i_size); + +template <> inline uint32_t fapiPlatGenHash <fapi::hash::CRC32> + (const void* i_data, size_t i_size) +{ + return Util::crc32_calc(i_data, i_size); +} + // defines for endian conversion #define FAPI_PLAT_BE16TOH(x) be16toh(x) |