* [PATCH] EmbeddedPkg/PrePiLib: remove dead status code reporting code
@ 2019-05-17 16:18 Ard Biesheuvel
2019-05-17 17:05 ` Leif Lindholm
0 siblings, 1 reply; 3+ messages in thread
From: Ard Biesheuvel @ 2019-05-17 16:18 UTC (permalink / raw)
To: devel; +Cc: leif.lindholm, Ard Biesheuvel
The status code reporting functionality in PrePiLib is never invoked
so let's just remove it.
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
---
EmbeddedPkg/Include/Library/PrePiLib.h | 7 -
EmbeddedPkg/Library/PrePiLib/PrePiLib.inf | 4 -
EmbeddedPkg/Library/PrePiLib/ReportStatusCode.c | 318 --------------------
3 files changed, 329 deletions(-)
diff --git a/EmbeddedPkg/Include/Library/PrePiLib.h b/EmbeddedPkg/Include/Library/PrePiLib.h
index 787678844093..ee8d4ef4d98a 100644
--- a/EmbeddedPkg/Include/Library/PrePiLib.h
+++ b/EmbeddedPkg/Include/Library/PrePiLib.h
@@ -755,11 +755,4 @@ DecompressFirstFv (
VOID
);
-VOID
-EFIAPI
-AddDxeCoreReportStatusCodeCallback (
- VOID
- );
-
-
#endif
diff --git a/EmbeddedPkg/Library/PrePiLib/PrePiLib.inf b/EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
index bdedb8d666df..83a0edcb8d94 100644
--- a/EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
+++ b/EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
@@ -29,7 +29,6 @@
[Sources.common]
FwVol.c
PrePiLib.c
- ReportStatusCode.c
[Packages]
MdePkg/MdePkg.dec
@@ -51,12 +50,9 @@
HobLib
[Guids]
- gEfiStatusCodeSpecificDataGuid
gEfiMemoryTypeInformationGuid
- gEfiStatusCodeDataTypeDebugGuid
[Protocols]
- gEfiStatusCodeRuntimeProtocolGuid
gPeCoffLoaderProtocolGuid
diff --git a/EmbeddedPkg/Library/PrePiLib/ReportStatusCode.c b/EmbeddedPkg/Library/PrePiLib/ReportStatusCode.c
deleted file mode 100644
index 043cf5e9cd23..000000000000
--- a/EmbeddedPkg/Library/PrePiLib/ReportStatusCode.c
+++ /dev/null
@@ -1,318 +0,0 @@
-/** @file
- Library that helps implement monolithic PEI
-
- Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
-
- SPDX-License-Identifier: BSD-2-Clause-Patent
-
-**/
-
-#include <PrePi.h>
-#include <Library/ReportStatusCodeLib.h>
-#include <Library/SerialPortLib.h>
-#include <Library/PrintLib.h>
-
-#include <Protocol/StatusCode.h>
-#include <Guid/StatusCodeDataTypeId.h>
-#include <Guid/StatusCodeDataTypeDebug.h>
-
-EFI_STATUS
-EFIAPI
-SerialReportStatusCode (
- IN EFI_STATUS_CODE_TYPE CodeType,
- IN EFI_STATUS_CODE_VALUE Value,
- IN UINT32 Instance,
- IN CONST EFI_GUID *CallerId,
- IN CONST EFI_STATUS_CODE_DATA *Data OPTIONAL
- );
-
-
-EFI_STATUS_CODE_PROTOCOL gStatusCode = {
- (EFI_REPORT_STATUS_CODE)SerialReportStatusCode
-};
-
-/**
- Extracts ASSERT() information from a status code structure.
-
- Converts the status code specified by CodeType, Value, and Data to the ASSERT()
- arguments specified by Filename, Description, and LineNumber. If CodeType is
- an EFI_ERROR_CODE, and CodeType has a severity of EFI_ERROR_UNRECOVERED, and
- Value has an operation mask of EFI_SW_EC_ILLEGAL_SOFTWARE_STATE, extract
- Filename, Description, and LineNumber from the optional data area of the
- status code buffer specified by Data. The optional data area of Data contains
- a Null-terminated ASCII string for the FileName, followed by a Null-terminated
- ASCII string for the Description, followed by a 32-bit LineNumber. If the
- ASSERT() information could be extracted from Data, then return TRUE.
- Otherwise, FALSE is returned.
-
- If Data is NULL, then ASSERT().
- If Filename is NULL, then ASSERT().
- If Description is NULL, then ASSERT().
- If LineNumber is NULL, then ASSERT().
-
- @param CodeType The type of status code being converted.
- @param Value The status code value being converted.
- @param Data Pointer to status code data buffer.
- @param Filename Pointer to the source file name that generated the ASSERT().
- @param Description Pointer to the description of the ASSERT().
- @param LineNumber Pointer to source line number that generated the ASSERT().
-
- @retval TRUE The status code specified by CodeType, Value, and Data was
- converted ASSERT() arguments specified by Filename, Description,
- and LineNumber.
- @retval FALSE The status code specified by CodeType, Value, and Data could
- not be converted to ASSERT() arguments.
-
-**/
-BOOLEAN
-EFIAPI
-ReportStatusCodeExtractAssertInfo (
- IN EFI_STATUS_CODE_TYPE CodeType,
- IN EFI_STATUS_CODE_VALUE Value,
- IN CONST EFI_STATUS_CODE_DATA *Data,
- OUT CHAR8 **Filename,
- OUT CHAR8 **Description,
- OUT UINT32 *LineNumber
- )
-{
- EFI_DEBUG_ASSERT_DATA *AssertData;
-
- ASSERT (Data != NULL);
- ASSERT (Filename != NULL);
- ASSERT (Description != NULL);
- ASSERT (LineNumber != NULL);
-
- if (((CodeType & EFI_STATUS_CODE_TYPE_MASK) == EFI_ERROR_CODE) &&
- ((CodeType & EFI_STATUS_CODE_SEVERITY_MASK) == EFI_ERROR_UNRECOVERED) &&
- ((Value & EFI_STATUS_CODE_OPERATION_MASK) == EFI_SW_EC_ILLEGAL_SOFTWARE_STATE)) {
- AssertData = (EFI_DEBUG_ASSERT_DATA *)(Data + 1);
- *Filename = (CHAR8 *)(AssertData + 1);
- *Description = *Filename + AsciiStrLen (*Filename) + 1;
- *LineNumber = AssertData->LineNumber;
- return TRUE;
- }
- return FALSE;
-}
-
-
-/**
- Extracts DEBUG() information from a status code structure.
-
- Converts the status code specified by Data to the DEBUG() arguments specified
- by ErrorLevel, Marker, and Format. If type GUID in Data is
- EFI_STATUS_CODE_DATA_TYPE_DEBUG_GUID, then extract ErrorLevel, Marker, and
- Format from the optional data area of the status code buffer specified by Data.
- The optional data area of Data contains a 32-bit ErrorLevel followed by Marker
- which is 12 UINTN parameters, followed by a Null-terminated ASCII string for
- the Format. If the DEBUG() information could be extracted from Data, then
- return TRUE. Otherwise, FALSE is returned.
-
- If Data is NULL, then ASSERT().
- If ErrorLevel is NULL, then ASSERT().
- If Marker is NULL, then ASSERT().
- If Format is NULL, then ASSERT().
-
- @param Data Pointer to status code data buffer.
- @param ErrorLevel Pointer to error level mask for a debug message.
- @param Marker Pointer to the variable argument list associated with Format.
- @param Format Pointer to a Null-terminated ASCII format string of a
- debug message.
-
- @retval TRUE The status code specified by Data was converted DEBUG() arguments
- specified by ErrorLevel, Marker, and Format.
- @retval FALSE The status code specified by Data could not be converted to
- DEBUG() arguments.
-
-**/
-BOOLEAN
-EFIAPI
-ReportStatusCodeExtractDebugInfo (
- IN CONST EFI_STATUS_CODE_DATA *Data,
- OUT UINT32 *ErrorLevel,
- OUT BASE_LIST *Marker,
- OUT CHAR8 **Format
- )
-{
- EFI_DEBUG_INFO *DebugInfo;
-
- ASSERT (Data != NULL);
- ASSERT (ErrorLevel != NULL);
- ASSERT (Marker != NULL);
- ASSERT (Format != NULL);
-
- //
- // If the GUID type is not EFI_STATUS_CODE_DATA_TYPE_DEBUG_GUID then return FALSE
- //
- if (!CompareGuid (&Data->Type, &gEfiStatusCodeDataTypeDebugGuid)) {
- return FALSE;
- }
-
- //
- // Retrieve the debug information from the status code record
- //
- DebugInfo = (EFI_DEBUG_INFO *)(Data + 1);
-
- *ErrorLevel = DebugInfo->ErrorLevel;
-
- //
- // The first 12 * UINTN bytes of the string are really an
- // argument stack to support varargs on the Format string.
- //
- *Marker = (BASE_LIST) (DebugInfo + 1);
- *Format = (CHAR8 *)(((UINT64 *)*Marker) + 12);
-
- return TRUE;
-}
-
-
-
-
-EFI_STATUS
-EFIAPI
-SerialReportStatusCode (
- IN EFI_STATUS_CODE_TYPE CodeType,
- IN EFI_STATUS_CODE_VALUE Value,
- IN UINT32 Instance,
- IN CONST EFI_GUID *CallerId,
- IN CONST EFI_STATUS_CODE_DATA *Data OPTIONAL
- )
-{
- CHAR8 *Filename;
- CHAR8 *Description;
- CHAR8 *Format;
- CHAR8 Buffer[EFI_STATUS_CODE_DATA_MAX_SIZE];
- UINT32 ErrorLevel;
- UINT32 LineNumber;
- UINTN CharCount;
- BASE_LIST Marker;
- EFI_DEBUG_INFO *DebugInfo;
-
- Buffer[0] = '\0';
-
-
- if (Data != NULL &&
- ReportStatusCodeExtractAssertInfo (CodeType, Value, Data, &Filename, &Description, &LineNumber)) {
-
- //
- // Print ASSERT() information into output buffer.
- //
- CharCount = AsciiSPrint (
- Buffer,
- EFI_STATUS_CODE_DATA_MAX_SIZE,
- "\n\rASSERT!: %a (%d): %a\n\r",
- Filename,
- LineNumber,
- Description
- );
-
-
- //
- // Callout to standard output.
- //
- SerialPortWrite ((UINT8 *)Buffer, CharCount);
- return EFI_SUCCESS;
-
- } else if (Data != NULL &&
- ReportStatusCodeExtractDebugInfo (Data, &ErrorLevel, &Marker, &Format)) {
-
- //
- // Print DEBUG() information into output buffer.
- //
- CharCount = AsciiBSPrint (
- Buffer,
- EFI_STATUS_CODE_DATA_MAX_SIZE,
- Format,
- Marker
- );
-
- } else if (Data != NULL &&
- CompareGuid (&Data->Type, &gEfiStatusCodeSpecificDataGuid) &&
- (CodeType & EFI_STATUS_CODE_TYPE_MASK) == EFI_DEBUG_CODE) {
-
- //
- // Print specific data into output buffer.
- //
- DebugInfo = (EFI_DEBUG_INFO *) (Data + 1);
- Marker = (BASE_LIST) (DebugInfo + 1);
- Format = (CHAR8 *) (((UINT64 *) (DebugInfo + 1)) + 12);
-
- CharCount = AsciiBSPrint (Buffer, EFI_STATUS_CODE_DATA_MAX_SIZE, Format, Marker);
-
- } else if ((CodeType & EFI_STATUS_CODE_TYPE_MASK) == EFI_ERROR_CODE) {
- //
- // Print ERROR information into output buffer.
- //
-
- CharCount = AsciiSPrint (
- Buffer,
- EFI_STATUS_CODE_DATA_MAX_SIZE,
- "ERROR: C%x:V%x I%x",
- CodeType,
- Value,
- Instance
- );
-
- //
- // Make sure we don't try to print values that weren't intended to be printed, especially NULL GUID pointers.
- //
- if (CallerId != NULL) {
- CharCount += AsciiSPrint (
- &Buffer[CharCount - 1],
- (EFI_STATUS_CODE_DATA_MAX_SIZE - (sizeof (Buffer[0]) * CharCount)),
- " %g",
- CallerId
- );
- }
-
- if (Data != NULL) {
- CharCount += AsciiSPrint (
- &Buffer[CharCount - 1],
- (EFI_STATUS_CODE_DATA_MAX_SIZE - (sizeof (Buffer[0]) * CharCount)),
- " %x",
- Data
- );
-
- }
-
-
- CharCount += AsciiSPrint (
- &Buffer[CharCount - 1],
- (EFI_STATUS_CODE_DATA_MAX_SIZE - (sizeof (Buffer[0]) * CharCount)),
- "\n\r"
- );
-
- } else if ((CodeType & EFI_STATUS_CODE_TYPE_MASK) == EFI_PROGRESS_CODE) {
- CharCount = AsciiSPrint (
- Buffer,
- EFI_STATUS_CODE_DATA_MAX_SIZE,
- "PROGRESS CODE: V%x I%x\n\r",
- Value,
- Instance
- );
- } else {
- CharCount = AsciiSPrint (
- Buffer,
- EFI_STATUS_CODE_DATA_MAX_SIZE,
- "Undefined: C%x:V%x I%x\n\r",
- CodeType,
- Value,
- Instance
- );
-
- }
-
- SerialPortWrite ((UINT8 *)Buffer, CharCount);
- return EFI_SUCCESS;
-
-}
-
-
-VOID
-EFIAPI
-AddDxeCoreReportStatusCodeCallback (
- VOID
- )
-{
- BuildGuidDataHob (&gEfiStatusCodeRuntimeProtocolGuid, &gStatusCode, sizeof(VOID *));
-}
-
--
2.20.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] EmbeddedPkg/PrePiLib: remove dead status code reporting code
2019-05-17 16:18 [PATCH] EmbeddedPkg/PrePiLib: remove dead status code reporting code Ard Biesheuvel
@ 2019-05-17 17:05 ` Leif Lindholm
2019-06-06 10:38 ` Ard Biesheuvel
0 siblings, 1 reply; 3+ messages in thread
From: Leif Lindholm @ 2019-05-17 17:05 UTC (permalink / raw)
To: Ard Biesheuvel; +Cc: devel
On Fri, May 17, 2019 at 06:18:55PM +0200, Ard Biesheuvel wrote:
> The status code reporting functionality in PrePiLib is never invoked
> so let's just remove it.
>
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
*however* - I don't think this constitutes a bugfix, so probably needs
to hold back until stable tag is made.
/
Leif
> ---
> EmbeddedPkg/Include/Library/PrePiLib.h | 7 -
> EmbeddedPkg/Library/PrePiLib/PrePiLib.inf | 4 -
> EmbeddedPkg/Library/PrePiLib/ReportStatusCode.c | 318 --------------------
> 3 files changed, 329 deletions(-)
>
> diff --git a/EmbeddedPkg/Include/Library/PrePiLib.h b/EmbeddedPkg/Include/Library/PrePiLib.h
> index 787678844093..ee8d4ef4d98a 100644
> --- a/EmbeddedPkg/Include/Library/PrePiLib.h
> +++ b/EmbeddedPkg/Include/Library/PrePiLib.h
> @@ -755,11 +755,4 @@ DecompressFirstFv (
> VOID
> );
>
> -VOID
> -EFIAPI
> -AddDxeCoreReportStatusCodeCallback (
> - VOID
> - );
> -
> -
> #endif
> diff --git a/EmbeddedPkg/Library/PrePiLib/PrePiLib.inf b/EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
> index bdedb8d666df..83a0edcb8d94 100644
> --- a/EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
> +++ b/EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
> @@ -29,7 +29,6 @@
> [Sources.common]
> FwVol.c
> PrePiLib.c
> - ReportStatusCode.c
>
> [Packages]
> MdePkg/MdePkg.dec
> @@ -51,12 +50,9 @@
> HobLib
>
> [Guids]
> - gEfiStatusCodeSpecificDataGuid
> gEfiMemoryTypeInformationGuid
> - gEfiStatusCodeDataTypeDebugGuid
>
> [Protocols]
> - gEfiStatusCodeRuntimeProtocolGuid
> gPeCoffLoaderProtocolGuid
>
>
> diff --git a/EmbeddedPkg/Library/PrePiLib/ReportStatusCode.c b/EmbeddedPkg/Library/PrePiLib/ReportStatusCode.c
> deleted file mode 100644
> index 043cf5e9cd23..000000000000
> --- a/EmbeddedPkg/Library/PrePiLib/ReportStatusCode.c
> +++ /dev/null
> @@ -1,318 +0,0 @@
> -/** @file
> - Library that helps implement monolithic PEI
> -
> - Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
> -
> - SPDX-License-Identifier: BSD-2-Clause-Patent
> -
> -**/
> -
> -#include <PrePi.h>
> -#include <Library/ReportStatusCodeLib.h>
> -#include <Library/SerialPortLib.h>
> -#include <Library/PrintLib.h>
> -
> -#include <Protocol/StatusCode.h>
> -#include <Guid/StatusCodeDataTypeId.h>
> -#include <Guid/StatusCodeDataTypeDebug.h>
> -
> -EFI_STATUS
> -EFIAPI
> -SerialReportStatusCode (
> - IN EFI_STATUS_CODE_TYPE CodeType,
> - IN EFI_STATUS_CODE_VALUE Value,
> - IN UINT32 Instance,
> - IN CONST EFI_GUID *CallerId,
> - IN CONST EFI_STATUS_CODE_DATA *Data OPTIONAL
> - );
> -
> -
> -EFI_STATUS_CODE_PROTOCOL gStatusCode = {
> - (EFI_REPORT_STATUS_CODE)SerialReportStatusCode
> -};
> -
> -/**
> - Extracts ASSERT() information from a status code structure.
> -
> - Converts the status code specified by CodeType, Value, and Data to the ASSERT()
> - arguments specified by Filename, Description, and LineNumber. If CodeType is
> - an EFI_ERROR_CODE, and CodeType has a severity of EFI_ERROR_UNRECOVERED, and
> - Value has an operation mask of EFI_SW_EC_ILLEGAL_SOFTWARE_STATE, extract
> - Filename, Description, and LineNumber from the optional data area of the
> - status code buffer specified by Data. The optional data area of Data contains
> - a Null-terminated ASCII string for the FileName, followed by a Null-terminated
> - ASCII string for the Description, followed by a 32-bit LineNumber. If the
> - ASSERT() information could be extracted from Data, then return TRUE.
> - Otherwise, FALSE is returned.
> -
> - If Data is NULL, then ASSERT().
> - If Filename is NULL, then ASSERT().
> - If Description is NULL, then ASSERT().
> - If LineNumber is NULL, then ASSERT().
> -
> - @param CodeType The type of status code being converted.
> - @param Value The status code value being converted.
> - @param Data Pointer to status code data buffer.
> - @param Filename Pointer to the source file name that generated the ASSERT().
> - @param Description Pointer to the description of the ASSERT().
> - @param LineNumber Pointer to source line number that generated the ASSERT().
> -
> - @retval TRUE The status code specified by CodeType, Value, and Data was
> - converted ASSERT() arguments specified by Filename, Description,
> - and LineNumber.
> - @retval FALSE The status code specified by CodeType, Value, and Data could
> - not be converted to ASSERT() arguments.
> -
> -**/
> -BOOLEAN
> -EFIAPI
> -ReportStatusCodeExtractAssertInfo (
> - IN EFI_STATUS_CODE_TYPE CodeType,
> - IN EFI_STATUS_CODE_VALUE Value,
> - IN CONST EFI_STATUS_CODE_DATA *Data,
> - OUT CHAR8 **Filename,
> - OUT CHAR8 **Description,
> - OUT UINT32 *LineNumber
> - )
> -{
> - EFI_DEBUG_ASSERT_DATA *AssertData;
> -
> - ASSERT (Data != NULL);
> - ASSERT (Filename != NULL);
> - ASSERT (Description != NULL);
> - ASSERT (LineNumber != NULL);
> -
> - if (((CodeType & EFI_STATUS_CODE_TYPE_MASK) == EFI_ERROR_CODE) &&
> - ((CodeType & EFI_STATUS_CODE_SEVERITY_MASK) == EFI_ERROR_UNRECOVERED) &&
> - ((Value & EFI_STATUS_CODE_OPERATION_MASK) == EFI_SW_EC_ILLEGAL_SOFTWARE_STATE)) {
> - AssertData = (EFI_DEBUG_ASSERT_DATA *)(Data + 1);
> - *Filename = (CHAR8 *)(AssertData + 1);
> - *Description = *Filename + AsciiStrLen (*Filename) + 1;
> - *LineNumber = AssertData->LineNumber;
> - return TRUE;
> - }
> - return FALSE;
> -}
> -
> -
> -/**
> - Extracts DEBUG() information from a status code structure.
> -
> - Converts the status code specified by Data to the DEBUG() arguments specified
> - by ErrorLevel, Marker, and Format. If type GUID in Data is
> - EFI_STATUS_CODE_DATA_TYPE_DEBUG_GUID, then extract ErrorLevel, Marker, and
> - Format from the optional data area of the status code buffer specified by Data.
> - The optional data area of Data contains a 32-bit ErrorLevel followed by Marker
> - which is 12 UINTN parameters, followed by a Null-terminated ASCII string for
> - the Format. If the DEBUG() information could be extracted from Data, then
> - return TRUE. Otherwise, FALSE is returned.
> -
> - If Data is NULL, then ASSERT().
> - If ErrorLevel is NULL, then ASSERT().
> - If Marker is NULL, then ASSERT().
> - If Format is NULL, then ASSERT().
> -
> - @param Data Pointer to status code data buffer.
> - @param ErrorLevel Pointer to error level mask for a debug message.
> - @param Marker Pointer to the variable argument list associated with Format.
> - @param Format Pointer to a Null-terminated ASCII format string of a
> - debug message.
> -
> - @retval TRUE The status code specified by Data was converted DEBUG() arguments
> - specified by ErrorLevel, Marker, and Format.
> - @retval FALSE The status code specified by Data could not be converted to
> - DEBUG() arguments.
> -
> -**/
> -BOOLEAN
> -EFIAPI
> -ReportStatusCodeExtractDebugInfo (
> - IN CONST EFI_STATUS_CODE_DATA *Data,
> - OUT UINT32 *ErrorLevel,
> - OUT BASE_LIST *Marker,
> - OUT CHAR8 **Format
> - )
> -{
> - EFI_DEBUG_INFO *DebugInfo;
> -
> - ASSERT (Data != NULL);
> - ASSERT (ErrorLevel != NULL);
> - ASSERT (Marker != NULL);
> - ASSERT (Format != NULL);
> -
> - //
> - // If the GUID type is not EFI_STATUS_CODE_DATA_TYPE_DEBUG_GUID then return FALSE
> - //
> - if (!CompareGuid (&Data->Type, &gEfiStatusCodeDataTypeDebugGuid)) {
> - return FALSE;
> - }
> -
> - //
> - // Retrieve the debug information from the status code record
> - //
> - DebugInfo = (EFI_DEBUG_INFO *)(Data + 1);
> -
> - *ErrorLevel = DebugInfo->ErrorLevel;
> -
> - //
> - // The first 12 * UINTN bytes of the string are really an
> - // argument stack to support varargs on the Format string.
> - //
> - *Marker = (BASE_LIST) (DebugInfo + 1);
> - *Format = (CHAR8 *)(((UINT64 *)*Marker) + 12);
> -
> - return TRUE;
> -}
> -
> -
> -
> -
> -EFI_STATUS
> -EFIAPI
> -SerialReportStatusCode (
> - IN EFI_STATUS_CODE_TYPE CodeType,
> - IN EFI_STATUS_CODE_VALUE Value,
> - IN UINT32 Instance,
> - IN CONST EFI_GUID *CallerId,
> - IN CONST EFI_STATUS_CODE_DATA *Data OPTIONAL
> - )
> -{
> - CHAR8 *Filename;
> - CHAR8 *Description;
> - CHAR8 *Format;
> - CHAR8 Buffer[EFI_STATUS_CODE_DATA_MAX_SIZE];
> - UINT32 ErrorLevel;
> - UINT32 LineNumber;
> - UINTN CharCount;
> - BASE_LIST Marker;
> - EFI_DEBUG_INFO *DebugInfo;
> -
> - Buffer[0] = '\0';
> -
> -
> - if (Data != NULL &&
> - ReportStatusCodeExtractAssertInfo (CodeType, Value, Data, &Filename, &Description, &LineNumber)) {
> -
> - //
> - // Print ASSERT() information into output buffer.
> - //
> - CharCount = AsciiSPrint (
> - Buffer,
> - EFI_STATUS_CODE_DATA_MAX_SIZE,
> - "\n\rASSERT!: %a (%d): %a\n\r",
> - Filename,
> - LineNumber,
> - Description
> - );
> -
> -
> - //
> - // Callout to standard output.
> - //
> - SerialPortWrite ((UINT8 *)Buffer, CharCount);
> - return EFI_SUCCESS;
> -
> - } else if (Data != NULL &&
> - ReportStatusCodeExtractDebugInfo (Data, &ErrorLevel, &Marker, &Format)) {
> -
> - //
> - // Print DEBUG() information into output buffer.
> - //
> - CharCount = AsciiBSPrint (
> - Buffer,
> - EFI_STATUS_CODE_DATA_MAX_SIZE,
> - Format,
> - Marker
> - );
> -
> - } else if (Data != NULL &&
> - CompareGuid (&Data->Type, &gEfiStatusCodeSpecificDataGuid) &&
> - (CodeType & EFI_STATUS_CODE_TYPE_MASK) == EFI_DEBUG_CODE) {
> -
> - //
> - // Print specific data into output buffer.
> - //
> - DebugInfo = (EFI_DEBUG_INFO *) (Data + 1);
> - Marker = (BASE_LIST) (DebugInfo + 1);
> - Format = (CHAR8 *) (((UINT64 *) (DebugInfo + 1)) + 12);
> -
> - CharCount = AsciiBSPrint (Buffer, EFI_STATUS_CODE_DATA_MAX_SIZE, Format, Marker);
> -
> - } else if ((CodeType & EFI_STATUS_CODE_TYPE_MASK) == EFI_ERROR_CODE) {
> - //
> - // Print ERROR information into output buffer.
> - //
> -
> - CharCount = AsciiSPrint (
> - Buffer,
> - EFI_STATUS_CODE_DATA_MAX_SIZE,
> - "ERROR: C%x:V%x I%x",
> - CodeType,
> - Value,
> - Instance
> - );
> -
> - //
> - // Make sure we don't try to print values that weren't intended to be printed, especially NULL GUID pointers.
> - //
> - if (CallerId != NULL) {
> - CharCount += AsciiSPrint (
> - &Buffer[CharCount - 1],
> - (EFI_STATUS_CODE_DATA_MAX_SIZE - (sizeof (Buffer[0]) * CharCount)),
> - " %g",
> - CallerId
> - );
> - }
> -
> - if (Data != NULL) {
> - CharCount += AsciiSPrint (
> - &Buffer[CharCount - 1],
> - (EFI_STATUS_CODE_DATA_MAX_SIZE - (sizeof (Buffer[0]) * CharCount)),
> - " %x",
> - Data
> - );
> -
> - }
> -
> -
> - CharCount += AsciiSPrint (
> - &Buffer[CharCount - 1],
> - (EFI_STATUS_CODE_DATA_MAX_SIZE - (sizeof (Buffer[0]) * CharCount)),
> - "\n\r"
> - );
> -
> - } else if ((CodeType & EFI_STATUS_CODE_TYPE_MASK) == EFI_PROGRESS_CODE) {
> - CharCount = AsciiSPrint (
> - Buffer,
> - EFI_STATUS_CODE_DATA_MAX_SIZE,
> - "PROGRESS CODE: V%x I%x\n\r",
> - Value,
> - Instance
> - );
> - } else {
> - CharCount = AsciiSPrint (
> - Buffer,
> - EFI_STATUS_CODE_DATA_MAX_SIZE,
> - "Undefined: C%x:V%x I%x\n\r",
> - CodeType,
> - Value,
> - Instance
> - );
> -
> - }
> -
> - SerialPortWrite ((UINT8 *)Buffer, CharCount);
> - return EFI_SUCCESS;
> -
> -}
> -
> -
> -VOID
> -EFIAPI
> -AddDxeCoreReportStatusCodeCallback (
> - VOID
> - )
> -{
> - BuildGuidDataHob (&gEfiStatusCodeRuntimeProtocolGuid, &gStatusCode, sizeof(VOID *));
> -}
> -
> --
> 2.20.1
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] EmbeddedPkg/PrePiLib: remove dead status code reporting code
2019-05-17 17:05 ` Leif Lindholm
@ 2019-06-06 10:38 ` Ard Biesheuvel
0 siblings, 0 replies; 3+ messages in thread
From: Ard Biesheuvel @ 2019-06-06 10:38 UTC (permalink / raw)
To: Leif Lindholm; +Cc: edk2-devel-groups-io
On Fri, 17 May 2019 at 19:05, Leif Lindholm <leif.lindholm@linaro.org> wrote:
>
> On Fri, May 17, 2019 at 06:18:55PM +0200, Ard Biesheuvel wrote:
> > The status code reporting functionality in PrePiLib is never invoked
> > so let's just remove it.
> >
> > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
>
> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
>
> *however* - I don't think this constitutes a bugfix, so probably needs
> to hold back until stable tag is made.
>
Pushed as 662bd0da7fd7..3147da26350f
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-06-06 10:38 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-17 16:18 [PATCH] EmbeddedPkg/PrePiLib: remove dead status code reporting code Ard Biesheuvel
2019-05-17 17:05 ` Leif Lindholm
2019-06-06 10:38 ` Ard Biesheuvel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox