* [edk2-devel] [PATCH] RedfishPkg/RedfishDebugLib: add function to print buffer. @ 2024-01-09 7:14 Nickle Wang via groups.io 2024-01-09 7:59 ` Chang, Abner via groups.io 0 siblings, 1 reply; 3+ messages in thread From: Nickle Wang via groups.io @ 2024-01-09 7:14 UTC (permalink / raw) To: devel; +Cc: Abner Chang, Igor Kulchytskyy, Nick Ramirez Introduce DumpBuffer function to print the buffer content. This helps developer to debug Redfish issue. Signed-off-by: Nickle Wang <nicklew@nvidia.com> Cc: Abner Chang <abner.chang@amd.com> Cc: Igor Kulchytskyy <igork@ami.com> Cc: Nick Ramirez <nramirez@nvidia.com> --- RedfishPkg/Include/Library/RedfishDebugLib.h | 20 ++++++++- .../Library/RedfishDebugLib/RedfishDebugLib.c | 41 ++++++++++++++++++- 2 files changed, 59 insertions(+), 2 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..5fd40ad955 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 @@ -21,6 +21,7 @@ #define REDFISH_JSON_STRING_LENGTH 200 #define REDFISH_JSON_OUTPUT_FORMAT (EDKII_JSON_COMPACT | EDKII_JSON_INDENT(2)) +#define REDFISH_SIZE_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_SIZE_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 (#113424): https://edk2.groups.io/g/devel/message/113424 Mute This Topic: https://groups.io/mt/103616099/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [edk2-devel] [PATCH] RedfishPkg/RedfishDebugLib: add function to print buffer. 2024-01-09 7:14 [edk2-devel] [PATCH] RedfishPkg/RedfishDebugLib: add function to print buffer Nickle Wang via groups.io @ 2024-01-09 7:59 ` Chang, Abner via groups.io 2024-01-09 11:14 ` Nickle Wang via groups.io 0 siblings, 1 reply; 3+ messages in thread From: Chang, Abner via groups.io @ 2024-01-09 7:59 UTC (permalink / raw) To: Nickle Wang, devel@edk2.groups.io; +Cc: Igor Kulchytskyy, Nick Ramirez [AMD Official Use Only - General] > -----Original Message----- > From: Nickle Wang <nicklew@nvidia.com> > Sent: Tuesday, January 9, 2024 3:15 PM > To: devel@edk2.groups.io > Cc: Chang, Abner <Abner.Chang@amd.com>; Igor Kulchytskyy > <igork@ami.com>; Nick Ramirez <nramirez@nvidia.com> > Subject: [PATCH] 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 <nicklew@nvidia.com> > Cc: Abner Chang <abner.chang@amd.com> > Cc: Igor Kulchytskyy <igork@ami.com> > Cc: Nick Ramirez <nramirez@nvidia.com> > --- > RedfishPkg/Include/Library/RedfishDebugLib.h | 20 ++++++++- > .../Library/RedfishDebugLib/RedfishDebugLib.c | 41 ++++++++++++++++++- > 2 files changed, 59 insertions(+), 2 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..5fd40ad955 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 > > @@ -21,6 +21,7 @@ > > #define REDFISH_JSON_STRING_LENGTH 200 > #define REDFISH_JSON_OUTPUT_FORMAT (EDKII_JSON_COMPACT | > EDKII_JSON_INDENT(2)) > +#define REDFISH_SIZE_PER_ROW 16 How about name this as REDFISH_PRINT_BUFFER_BYTES_PER_ROW, looks more clear. Abner > > /** > 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_SIZE_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 (#113426): https://edk2.groups.io/g/devel/message/113426 Mute This Topic: https://groups.io/mt/103616099/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [edk2-devel] [PATCH] RedfishPkg/RedfishDebugLib: add function to print buffer. 2024-01-09 7:59 ` Chang, Abner via groups.io @ 2024-01-09 11:14 ` Nickle Wang via groups.io 0 siblings, 0 replies; 3+ messages in thread From: Nickle Wang via groups.io @ 2024-01-09 11:14 UTC (permalink / raw) To: Chang, Abner, devel@edk2.groups.io; +Cc: Igor Kulchytskyy, Nick Ramirez [-- Attachment #1: Type: text/plain, Size: 5980 bytes --] Thanks for your review, @Chang, Abner<mailto:Abner.Chang@amd.com>! Version 2 patch is sent for review here: https://edk2.groups.io/g/devel/message/113439 Regards, Nickle > -----Original Message----- > From: Chang, Abner <Abner.Chang@amd.com> > Sent: Tuesday, January 9, 2024 4:00 PM > To: Nickle Wang <nicklew@nvidia.com>; devel@edk2.groups.io > Cc: Igor Kulchytskyy <igork@ami.com>; Nick Ramirez <nramirez@nvidia.com> > Subject: RE: [PATCH] RedfishPkg/RedfishDebugLib: add function to print buffer. > > External email: Use caution opening links or attachments > > > [AMD Official Use Only - General] > > > -----Original Message----- > > From: Nickle Wang <nicklew@nvidia.com<mailto:nicklew@nvidia.com>> > > Sent: Tuesday, January 9, 2024 3:15 PM > > To: devel@edk2.groups.io<mailto:devel@edk2.groups.io> > > Cc: Chang, Abner <Abner.Chang@amd.com<mailto:Abner.Chang@amd.com>>; Igor Kulchytskyy > > <igork@ami.com<mailto:igork@ami.com>>; Nick Ramirez <nramirez@nvidia.com<mailto:nramirez@nvidia.com>> > > Subject: [PATCH] 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 <nicklew@nvidia.com<mailto:nicklew@nvidia.com>> > > Cc: Abner Chang <abner.chang@amd.com<mailto:abner.chang@amd.com>> > > Cc: Igor Kulchytskyy <igork@ami.com<mailto:igork@ami.com>> > > Cc: Nick Ramirez <nramirez@nvidia.com<mailto:nramirez@nvidia.com>> > > --- > > RedfishPkg/Include/Library/RedfishDebugLib.h | 20 ++++++++- > > .../Library/RedfishDebugLib/RedfishDebugLib.c | 41 ++++++++++++++++++- > > 2 files changed, 59 insertions(+), 2 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..5fd40ad955 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 > > > > @@ -21,6 +21,7 @@ > > > > #define REDFISH_JSON_STRING_LENGTH 200 #define > > REDFISH_JSON_OUTPUT_FORMAT (EDKII_JSON_COMPACT | > > EDKII_JSON_INDENT(2)) > > +#define REDFISH_SIZE_PER_ROW 16 > > How about name this as REDFISH_PRINT_BUFFER_BYTES_PER_ROW, looks more > clear. > > Abner > > > > > /** > > 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_SIZE_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 (#113440): https://edk2.groups.io/g/devel/message/113440 Mute This Topic: https://groups.io/mt/103616099/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=- [-- Attachment #2: Type: text/html, Size: 14829 bytes --] ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-01-09 11:14 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-01-09 7:14 [edk2-devel] [PATCH] RedfishPkg/RedfishDebugLib: add function to print buffer Nickle Wang via groups.io 2024-01-09 7:59 ` Chang, Abner via groups.io 2024-01-09 11:14 ` Nickle Wang via groups.io
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox