RedfishPkg/RedfishDebugLib: add function to print buffer.
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> Reviewed-by: Igor Kulchytskyy <igork@ami.com> Reviewed-by: Abner Chang <abner.chang@amd.com>
This commit is contained in:
parent
265b4ab91b
commit
bc34a79cd2
|
@ -1,7 +1,7 @@
|
||||||
/** @file
|
/** @file
|
||||||
This file defines the Redfish debug library interface.
|
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
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
|
||||||
|
@ -138,4 +138,22 @@ DumpIpv4Address (
|
||||||
IN EFI_IPv4_ADDRESS *Ipv4Address
|
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
|
#endif
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/** @file
|
/** @file
|
||||||
Redfish debug library to debug Redfish application.
|
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
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
|
||||||
|
@ -21,6 +21,7 @@
|
||||||
|
|
||||||
#define REDFISH_JSON_STRING_LENGTH 200
|
#define REDFISH_JSON_STRING_LENGTH 200
|
||||||
#define REDFISH_JSON_OUTPUT_FORMAT (EDKII_JSON_COMPACT | EDKII_JSON_INDENT(2))
|
#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.
|
Debug print the value of StatementValue.
|
||||||
|
@ -366,3 +367,41 @@ DumpIpv4Address (
|
||||||
|
|
||||||
return EFI_SUCCESS;
|
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;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue