Thanks for your review, @Chang, Abner!  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>

> > 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 (#113440) | | Mute This Topic | New Topic
Your Subscription | Contact Group Owner | Unsubscribe [rebecca@openfw.io]

_._,_._,_