[AMD Official Use Only - General] Reviewed-by: Abner Chang <abner.ch...@amd.com>
> -----Original Message----- > From: Nickle Wang <nick...@nvidia.com> > Sent: Tuesday, January 9, 2024 7:13 PM > To: devel@edk2.groups.io > Cc: Chang, Abner <abner.ch...@amd.com>; Igor Kulchytskyy > <ig...@ami.com>; Nick Ramirez <nrami...@nvidia.com> > Subject: [PATCH v2] RedfishPkg/RedfishDebugLib: add function to print > buffer. > > Caution: This message originated from an External Source. Use proper caution > when opening attachments, clicking links, or responding. > > > Introduce DumpBuffer function to print the buffer content. This helps > developer to debug Redfish issue. > > Signed-off-by: Nickle Wang <nick...@nvidia.com> > Cc: Abner Chang <abner.ch...@amd.com> > Cc: Igor Kulchytskyy <ig...@ami.com> > Cc: Nick Ramirez <nrami...@nvidia.com> > --- > RedfishPkg/Include/Library/RedfishDebugLib.h | 20 ++++++++- > .../Library/RedfishDebugLib/RedfishDebugLib.c | 45 +++++++++++++++++-- > 2 files changed, 61 insertions(+), 4 deletions(-) > > diff --git a/RedfishPkg/Include/Library/RedfishDebugLib.h > b/RedfishPkg/Include/Library/RedfishDebugLib.h > index 5f75bad12a..3430cf1d14 100644 > --- a/RedfishPkg/Include/Library/RedfishDebugLib.h > +++ b/RedfishPkg/Include/Library/RedfishDebugLib.h > @@ -1,7 +1,7 @@ > /** @file > This file defines the Redfish debug library interface. > > - Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. > + Copyright (c) 2023-2024, NVIDIA CORPORATION & AFFILIATES. All rights > reserved. > > SPDX-License-Identifier: BSD-2-Clause-Patent > > @@ -138,4 +138,22 @@ DumpIpv4Address ( > IN EFI_IPv4_ADDRESS *Ipv4Address > ); > > +/** > + Debug output raw data buffer. > + > + @param[in] ErrorLevel DEBUG macro error level > + @param[in] Buffer Debug output data buffer. > + @param[in] BufferSize The size of Buffer in byte. > + > + @retval EFI_SUCCESS Debug dump finished. > + @retval EFI_INVALID_PARAMETER Buffer is NULL. > + > +**/ > +EFI_STATUS > +DumpBuffer ( > + IN UINTN ErrorLevel, > + IN UINT8 *Buffer, > + IN UINTN BufferSize > + ); > + > #endif > diff --git a/RedfishPkg/Library/RedfishDebugLib/RedfishDebugLib.c > b/RedfishPkg/Library/RedfishDebugLib/RedfishDebugLib.c > index efa9a5ca13..3728f51213 100644 > --- a/RedfishPkg/Library/RedfishDebugLib/RedfishDebugLib.c > +++ b/RedfishPkg/Library/RedfishDebugLib/RedfishDebugLib.c > @@ -1,7 +1,7 @@ > /** @file > Redfish debug library to debug Redfish application. > > - Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. > + Copyright (c) 2023-2024, NVIDIA CORPORATION & AFFILIATES. All rights > reserved. > > SPDX-License-Identifier: BSD-2-Clause-Patent > > @@ -19,8 +19,9 @@ > #define IS_EMPTY_STRING(a) ((a) == NULL || (a)[0] == '\0') > #endif > > -#define REDFISH_JSON_STRING_LENGTH 200 > -#define REDFISH_JSON_OUTPUT_FORMAT (EDKII_JSON_COMPACT | > EDKII_JSON_INDENT(2)) > +#define REDFISH_JSON_STRING_LENGTH 200 > +#define REDFISH_JSON_OUTPUT_FORMAT (EDKII_JSON_COMPACT | > EDKII_JSON_INDENT(2)) > +#define REDFISH_PRINT_BUFFER_BYTES_PER_ROW 16 > > /** > Debug print the value of StatementValue. > @@ -366,3 +367,41 @@ DumpIpv4Address ( > > return EFI_SUCCESS; > } > + > +/** > + Debug output raw data buffer. > + > + @param[in] ErrorLevel DEBUG macro error level > + @param[in] Buffer Debug output data buffer. > + @param[in] BufferSize The size of Buffer in byte. > + > + @retval EFI_SUCCESS Debug dump finished. > + @retval EFI_INVALID_PARAMETER Buffer is NULL. > + > +**/ > +EFI_STATUS > +DumpBuffer ( > + IN UINTN ErrorLevel, > + IN UINT8 *Buffer, > + IN UINTN BufferSize > + ) > +{ > + UINTN Index; > + > + if (Buffer == NULL) { > + return EFI_INVALID_PARAMETER; > + } > + > + DEBUG ((ErrorLevel, "Address: 0x%p size: %d\n", Buffer, BufferSize)); > + for (Index = 0; Index < BufferSize; Index++) { > + if (Index % REDFISH_PRINT_BUFFER_BYTES_PER_ROW == 0) { > + DEBUG ((ErrorLevel, "\n%04X: ", Index)); > + } > + > + DEBUG ((ErrorLevel, "%02X ", Buffer[Index])); > + } > + > + DEBUG ((ErrorLevel, "\n")); > + > + return EFI_SUCCESS; > +} > -- > 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#113509): https://edk2.groups.io/g/devel/message/113509 Mute This Topic: https://groups.io/mt/103617651/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-