From f2bd39fb606f0c3e5a8f7998fa215ba4d6e25687 Mon Sep 17 00:00:00 2001 From: Sami Mujawar Date: Wed, 5 Aug 2020 16:36:56 +0100 Subject: DynamicTablesPkg: Add AsciiFromHex helper function AsciiFromHex is a function converts a hex number to an ASCII character. This function is used across multiple generators, so add it to the TableHelperLib. Signed-off-by: Pierre Gondois Signed-off-by: Sami Mujawar Reviewed-by: Alexei Fedorov --- DynamicTablesPkg/Include/Library/TableHelperLib.h | 15 ++++++++++- .../Library/Common/TableHelperLib/TableHelper.c | 30 ++++++++++++++++++++-- 2 files changed, 42 insertions(+), 3 deletions(-) (limited to 'DynamicTablesPkg') 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; +} -- cgit v1.2.3