From nobody Wed May 1 03:22:22 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+40949+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+40949+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1558109942; cv=none; d=zoho.com; s=zohoarc; b=EtI2xoFmkIiu0ghT2TiflfIIxdrbrWAASqSHAzb7zlx+iPmT+kp1C/TmoTr8zL7zMGvulwscPUhOTFUhkz1rfvs+YCqwvE1YlOTSUz6zmAoiZzbFJ5knLwAbLeHO3zw2FFZ1xnSdBM8qnK4BRnu/mBT2kAIHNUdr6isTBjXg6HE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1558109942; h=Content-Transfer-Encoding:Cc:Date:From:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Sender:Subject:To:ARC-Authentication-Results; bh=aa/DH83Lvc14ovNXQSlMR0p3lVZ4zgp4gYM6jSK4spM=; b=YJfdPoTxip5Hgt3ArUP4uvAwMNX0Dx0jOOFYgkNhTRD1In2BEs4Tc8ExD+v65SNqdX6fZKbeb0Bsfe+LIDzxpV5C2/gd85Y7vAU85XDCcqDxgETGQvoH6XUcBKLOa2k6a/NHqoCbJSOtw5oarSjVv19lkyO7CpOTOPaAAB4AdCA= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+40949+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 155810994209125.920844443819874; Fri, 17 May 2019 09:19:02 -0700 (PDT) Return-Path: X-Received: from mail-wr1-f46.google.com (mail-wr1-f46.google.com [209.85.221.46]) by groups.io with SMTP; Fri, 17 May 2019 09:19:01 -0700 X-Received: by mail-wr1-f46.google.com with SMTP id r7so7705782wrr.13 for ; Fri, 17 May 2019 09:19:00 -0700 (PDT) X-Gm-Message-State: APjAAAWyBYIyucdto6gZhrnfxjd2gcZ7cDhHsQVoeygqvQl4W7xZ0X0u dwI1vLK5ZWQ28lsYZRMk7DNyKKF0HB4q9Q== X-Google-Smtp-Source: APXvYqzDPO5797CN7vjAi/E/kRPDQC9e4z6QvQDiQ8yFih5UVB9mHKvQnpaqe5+n5on9LrNs8nJ4mg== X-Received: by 2002:adf:9bd8:: with SMTP id e24mr31460461wrc.1.1558109938818; Fri, 17 May 2019 09:18:58 -0700 (PDT) X-Received: from sudo.home ([2a01:cb1d:112:6f00:f84a:a46e:54d1:df96]) by smtp.gmail.com with ESMTPSA id a10sm10230535wrm.94.2019.05.17.09.18.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 17 May 2019 09:18:57 -0700 (PDT) From: "Ard Biesheuvel" To: devel@edk2.groups.io Cc: leif.lindholm@linaro.org, Ard Biesheuvel Subject: [edk2-devel] [PATCH] EmbeddedPkg/PrePiLib: remove dead status code reporting code Date: Fri, 17 May 2019 18:18:55 +0200 Message-Id: <20190517161855.23879-1-ard.biesheuvel@linaro.org> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,ard.biesheuvel@linaro.org Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1558109941; bh=Xem/QyQswnwcMqkWA2yPWglJY9HORQDkapHHSKz++s8=; h=Cc:Date:From:Reply-To:Subject:To; b=juczRq+y5HokHic5Wwsi/CjhwYddPpE/VVxMDnnwaT8p7MxMJJ2Uiv6MaYw+Z3yTcXw hq/HA8L3o8icLdj/yAg0WNiL4kGjTtiJZOrdNl0DXbx42+Cf5sJhwlWVTZto8f4J56N/M 81h0swf9cu7fNddzCspD4ha0nVAmxR3Kexw= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" The status code reporting functionality in PrePiLib is never invoked so let's just remove it. Signed-off-by: Ard Biesheuvel Reviewed-by: Leif Lindholm --- 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/L= ibrary/PrePiLib.h index 787678844093..ee8d4ef4d98a 100644 --- a/EmbeddedPkg/Include/Library/PrePiLib.h +++ b/EmbeddedPkg/Include/Library/PrePiLib.h @@ -755,11 +755,4 @@ DecompressFirstFv ( VOID ); =20 -VOID -EFIAPI -AddDxeCoreReportStatusCodeCallback ( - VOID - ); - - #endif diff --git a/EmbeddedPkg/Library/PrePiLib/PrePiLib.inf b/EmbeddedPkg/Librar= y/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 =20 [Packages] MdePkg/MdePkg.dec @@ -51,12 +50,9 @@ HobLib =20 [Guids] - gEfiStatusCodeSpecificDataGuid gEfiMemoryTypeInformationGuid - gEfiStatusCodeDataTypeDebugGuid =20 [Protocols] - gEfiStatusCodeRuntimeProtocolGuid gPeCoffLoaderProtocolGuid =20 =20 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.
- - SPDX-License-Identifier: BSD-2-Clause-Patent - -**/ - -#include -#include -#include -#include - -#include -#include -#include - -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 =3D { - (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 A= SSERT() - arguments specified by Filename, Description, and LineNumber. If CodeTy= pe 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 co= ntains - a Null-terminated ASCII string for the FileName, followed by a Null-term= inated - ASCII string for the Description, followed by a 32-bit LineNumber. If t= he - 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 AS= SERT(). - - @retval TRUE The status code specified by CodeType, Value, and Data w= as - converted ASSERT() arguments specified by Filename, Desc= ription, - and LineNumber. - @retval FALSE The status code specified by CodeType, Value, and Data c= ould - 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 !=3D NULL); - ASSERT (Filename !=3D NULL); - ASSERT (Description !=3D NULL); - ASSERT (LineNumber !=3D NULL); - - if (((CodeType & EFI_STATUS_CODE_TYPE_MASK) =3D=3D EFI_ERROR_CODE) = && - ((CodeType & EFI_STATUS_CODE_SEVERITY_MASK) =3D=3D EFI_ERROR_UNRECO= VERED) && - ((Value & EFI_STATUS_CODE_OPERATION_MASK) =3D=3D EFI_SW_EC_ILLEGA= L_SOFTWARE_STATE)) { - AssertData =3D (EFI_DEBUG_ASSERT_DATA *)(Data + 1); - *Filename =3D (CHAR8 *)(AssertData + 1); - *Description =3D *Filename + AsciiStrLen (*Filename) + 1; - *LineNumber =3D 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 spec= ified - by ErrorLevel, Marker, and Format. If type GUID in Data is - EFI_STATUS_CODE_DATA_TYPE_DEBUG_GUID, then extract ErrorLevel, Marker, a= nd - Format from the optional data area of the status code buffer specified b= y 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, th= en - 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 wit= h 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 !=3D NULL); - ASSERT (ErrorLevel !=3D NULL); - ASSERT (Marker !=3D NULL); - ASSERT (Format !=3D NULL); - - // - // If the GUID type is not EFI_STATUS_CODE_DATA_TYPE_DEBUG_GUID then ret= urn FALSE - // - if (!CompareGuid (&Data->Type, &gEfiStatusCodeDataTypeDebugGuid)) { - return FALSE; - } - - // - // Retrieve the debug information from the status code record - // - DebugInfo =3D (EFI_DEBUG_INFO *)(Data + 1); - - *ErrorLevel =3D DebugInfo->ErrorLevel; - - // - // The first 12 * UINTN bytes of the string are really an - // argument stack to support varargs on the Format string. - // - *Marker =3D (BASE_LIST) (DebugInfo + 1); - *Format =3D (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] =3D '\0'; - - - if (Data !=3D NULL && - ReportStatusCodeExtractAssertInfo (CodeType, Value, Data, &Filename, &= Description, &LineNumber)) { - - // - // Print ASSERT() information into output buffer. - // - CharCount =3D 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 !=3D NULL && - ReportStatusCodeExtractDebugInfo (Data, &ErrorLevel, &Marker, &Format)= ) { - - // - // Print DEBUG() information into output buffer. - // - CharCount =3D AsciiBSPrint ( - Buffer, - EFI_STATUS_CODE_DATA_MAX_SIZE, - Format, - Marker - ); - - } else if (Data !=3D NULL && - CompareGuid (&Data->Type, &gEfiStatusCodeSpecificDataGuid) && - (CodeType & EFI_STATUS_CODE_TYPE_MASK) =3D=3D EFI_DEBUG_CODE)= { - - // - // Print specific data into output buffer. - // - DebugInfo =3D (EFI_DEBUG_INFO *) (Data + 1); - Marker =3D (BASE_LIST) (DebugInfo + 1); - Format =3D (CHAR8 *) (((UINT64 *) (DebugInfo + 1)) + 12); - - CharCount =3D AsciiBSPrint (Buffer, EFI_STATUS_CODE_DATA_MAX_SIZE, For= mat, Marker); - - } else if ((CodeType & EFI_STATUS_CODE_TYPE_MASK) =3D=3D EFI_ERROR_CODE)= { - // - // Print ERROR information into output buffer. - // - - CharCount =3D 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 !=3D NULL) { - CharCount +=3D AsciiSPrint ( - &Buffer[CharCount - 1], - (EFI_STATUS_CODE_DATA_MAX_SIZE - (sizeof (Buffer[0]) = * CharCount)), - " %g", - CallerId - ); - } - - if (Data !=3D NULL) { - CharCount +=3D AsciiSPrint ( - &Buffer[CharCount - 1], - (EFI_STATUS_CODE_DATA_MAX_SIZE - (sizeof (Buffer[0]) = * CharCount)), - " %x", - Data - ); - - } - - - CharCount +=3D AsciiSPrint ( - &Buffer[CharCount - 1], - (EFI_STATUS_CODE_DATA_MAX_SIZE - (sizeof (Buffer[0]) * = CharCount)), - "\n\r" - ); - - } else if ((CodeType & EFI_STATUS_CODE_TYPE_MASK) =3D=3D EFI_PROGRESS_CO= DE) { - CharCount =3D AsciiSPrint ( - Buffer, - EFI_STATUS_CODE_DATA_MAX_SIZE, - "PROGRESS CODE: V%x I%x\n\r", - Value, - Instance - ); - } else { - CharCount =3D 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, size= of(VOID *)); -} - --=20 2.20.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#40949): https://edk2.groups.io/g/devel/message/40949 Mute This Topic: https://groups.io/mt/31656813/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-