diff --git a/DynamicTablesPkg/Include/Library/TableHelperLib.h b/DynamicTablesPkg/Include/Library/TableHelperLib.h index e4a8dfa046..099a0a4544 100644 --- a/DynamicTablesPkg/Include/Library/TableHelperLib.h +++ b/DynamicTablesPkg/Include/Library/TableHelperLib.h @@ -1,6 +1,6 @@ /** @file - Copyright (c) 2017 - 2019, ARM Limited. All rights reserved. + Copyright (c) 2017 - 2020, Arm Limited. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent @@ -107,4 +107,17 @@ FindDuplicateValue ( IN PFN_IS_EQUAL EqualTestFunction ); +/** Convert a hex number to its ASCII code. + + @param [in] x Hex number to convert. + Must be 0 <= x < 16. + + @return The ASCII code corresponding to x. +**/ +UINT8 +EFIAPI +AsciiFromHex ( + IN UINT8 x + ); + #endif // TABLE_HELPER_LIB_H_ diff --git a/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c b/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c index fc6cf3b088..0d9daad3b0 100644 --- a/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c +++ b/DynamicTablesPkg/Library/Common/TableHelperLib/TableHelper.c @@ -1,8 +1,9 @@ /** @file Table Helper -Copyright (c) 2017 - 2019, ARM Limited. All rights reserved. -SPDX-License-Identifier: BSD-2-Clause-Patent + Copyright (c) 2017 - 2020, Arm Limited. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include @@ -244,3 +245,28 @@ FindDuplicateValue ( } return FALSE; } + +/** Convert a hex number to its ASCII code. + + @param [in] x Hex number to convert. + Must be 0 <= x < 16. + + @return The ASCII code corresponding to x. +**/ +UINT8 +EFIAPI +AsciiFromHex ( + IN UINT8 x + ) +{ + if (x < 10) { + return (UINT8)(x + '0'); + } + + if (x < 16) { + return (UINT8)(x - 10 + 'A'); + } + + ASSERT (FALSE); + return (UINT8)0; +}