From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54]) by mx.groups.io with SMTP id smtpd.web08.9171.1658504249836711316 for ; Fri, 22 Jul 2022 08:37:30 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20210112 header.b=I4usFFs1; spf=pass (domain: gmail.com, ip: 209.85.167.54, mailfrom: aladyshev22@gmail.com) Received: by mail-lf1-f54.google.com with SMTP id y11so8200461lfs.6 for ; Fri, 22 Jul 2022 08:37:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=GxZKbm3lZHOXVFwaTyaJSN9Ri1fJghazkud+uM4oovQ=; b=I4usFFs17DdqX+O36udglx5l95VpghOUGflk6V5ew6mO0ZzzqcjuQPuqqEBCJcssYK yuS//oNEWTNKB6ZohrWGKvq4a5l6bW/PoYmFOG3Warrf7ft5pgEWE2SnyUghTcwsD3sW n+KQYDe7umyTw50MyvLfX5jRifNRQPRavwimOr89lvr+fHY1VewRxoIQU8LokiZDxPL7 8BkF/OrB9SITrlHA/Pxqqu1/lAgr0yLuXuEfC52mz0/bkzRDuWJKbw9GXwP1CCrWcr9U iCY68krJctGGtYUdAgxwfR4BEwzDkGHGK97OtALnllzRUMlc9iKuvACBpfyUFtUURjsh ZxMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=GxZKbm3lZHOXVFwaTyaJSN9Ri1fJghazkud+uM4oovQ=; b=Oz30FZOtj9aL5BIaG60vjs4Jo5noVJLjjWDmTHHiCRkllSrbSwmx3+ugyTbHfWZebD OuoJqzW3DOo3HrgJyj+HI6RA8OOpPCY+M6W/lFXiWvk6yyqDW/4kE94naz6snpmFW9OZ p1Ma9Gyhjvw+wPTicJDsGCEF4PupNypzKV9TJ8RSdSXd/bEgergwzQe1WBoiwkMhQCEu K9sRLCxElkX+aet8KKejX6R4OFu8+BStY7NUej5jXc+Y2zr99o0ZsSaYMpRe65blADxw SKKvskA+UZPCSgjKyvEnblSZT0QDspSxS/k+TA9IXqesY4FZ2ZE9eztPik+JRqNPRBMG W23g== X-Gm-Message-State: AJIora8KORX5EtvdaQfeFaR9/veeKa/gNX6rAStau19mHdozY0aJdFCI hxR+FE/6jnMEU8wAUxKesiU8xQXe1JQ= X-Google-Smtp-Source: AGRyM1vsQYb1c/jRmfmN9YXWiA0ZBJgpEdV3bZ1SCwAhYcmc2DwRNi1SvCI7n9IY42f98am3oXvoFA== X-Received: by 2002:a05:6512:308b:b0:489:32f8:426c with SMTP id z11-20020a056512308b00b0048932f8426cmr259398lfd.270.1658504247452; Fri, 22 Jul 2022 08:37:27 -0700 (PDT) Return-Path: Received: from PC10319.67 ([82.97.198.254]) by smtp.googlemail.com with ESMTPSA id be20-20020a05651c171400b0025bf58c5338sm1192676ljb.15.2022.07.22.08.37.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 22 Jul 2022 08:37:26 -0700 (PDT) From: "Konstantin Aladyshev" To: devel@edk2.groups.io Cc: bob.c.feng@intel.com, gaoliming@byosoft.com.cn, yuwei.chen@intel.com, Konstantin Aladyshev Subject: [PATCH] BaseTools/VolInfo: Parse apriori files Date: Fri, 22 Jul 2022 18:37:30 +0300 Message-Id: <20220722153730.9563-1-aladyshev22@gmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Output file GUIDs from the DXE and PEI apriori files. Signed-off-by: Konstantin Aladyshev --- BaseTools/Source/C/VolInfo/VolInfo.c | 74 ++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/BaseTools/Source/C/VolInfo/VolInfo.c b/BaseTools/Source/C/VolI= nfo/VolInfo.c index 2d7c6212b3..28c6806cf0 100644 --- a/BaseTools/Source/C/VolInfo/VolInfo.c +++ b/BaseTools/Source/C/VolInfo/VolInfo.c @@ -43,6 +43,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent //=0D =0D EFI_GUID gEfiCrc32GuidedSectionExtractionProtocolGuid =3D EFI_CRC32_GUIDE= D_SECTION_EXTRACTION_PROTOCOL_GUID;=0D +EFI_GUID gPeiAprioriFileNameGuid =3D { 0x1b45cc0a, 0x156a, 0x428a, { 0XAF= , 0x62, 0x49, 0x86, 0x4d, 0xa0, 0xe6, 0xe6 }};=0D +EFI_GUID gAprioriGuid =3D { 0xFC510EE7, 0xFFDC, 0x11D4, { 0xBD, 0x41, 0x0= 0, 0x80, 0xC7, 0x3C, 0x88, 0x81 }};=0D =0D #define UTILITY_MAJOR_VERSION 1=0D #define UTILITY_MINOR_VERSION 0=0D @@ -107,6 +109,12 @@ ReadHeader ( OUT BOOLEAN *ErasePolarity=0D );=0D =0D +STATIC=0D +EFI_STATUS=0D +PrintAprioriFile (=0D + EFI_FFS_FILE_HEADER *FileHeader=0D + );=0D +=0D STATIC=0D EFI_STATUS=0D PrintFileInfo (=0D @@ -1083,6 +1091,53 @@ Returns: return EFI_SUCCESS;=0D }=0D =0D +STATIC=0D +EFI_STATUS=0D +PrintAprioriFile (=0D + EFI_FFS_FILE_HEADER *FileHeader=0D + )=0D +/*++=0D +=0D +Routine Description:=0D +=0D + Print GUIDs from the APRIORI file=0D +=0D +Arguments:=0D +=0D + FileHeader - The file header=0D +=0D +Returns:=0D +=0D + EFI_SUCCESS - The APRIORI file was parsed correctly=0D + EFI_SECTION_ERROR - Problem with file parsing=0D +=0D +--*/=0D +{=0D + UINT8 GuidBuffer[PRINTED_GUID_BUFFER_SIZE];=0D + UINT32 HeaderSize;=0D +=0D + HeaderSize =3D FvBufGetFfsHeaderSize (FileHeader);=0D +=0D + if (FileHeader->Type !=3D EFI_FV_FILETYPE_FREEFORM)=0D + return EFI_SECTION_ERROR;=0D +=0D + EFI_COMMON_SECTION_HEADER* SectionHeader =3D (EFI_COMMON_SECTION_HEADER = *) ((UINTN) FileHeader + HeaderSize);=0D + if (SectionHeader->Type !=3D EFI_SECTION_RAW)=0D + return EFI_SECTION_ERROR;=0D +=0D + UINT32 SectionLength =3D GetSectionFileLength (SectionHeader);=0D + EFI_GUID* FileName =3D (EFI_GUID *) ((UINT8 *) SectionHeader + sizeof (E= FI_COMMON_SECTION_HEADER));=0D + while (((UINT8 *) FileName) < ((UINT8 *) SectionHeader + SectionLength))= {=0D + PrintGuidToBuffer (FileName, GuidBuffer, sizeof (GuidBuffer), TRUE);=0D + printf ("%s ", GuidBuffer);=0D + PrintGuidName (GuidBuffer);=0D + printf ("\n");=0D + FileName++;=0D + }=0D +=0D + return EFI_SUCCESS;=0D +}=0D +=0D STATIC=0D EFI_STATUS=0D PrintFileInfo (=0D @@ -1339,6 +1394,25 @@ Returns: break;=0D }=0D =0D + if (!CompareGuid (=0D + &FileHeader->Name,=0D + &gPeiAprioriFileNameGuid=0D + ))=0D + {=0D + printf("\n");=0D + printf("PEI APRIORI FILE:\n");=0D + return PrintAprioriFile (FileHeader);=0D + }=0D + if (!CompareGuid (=0D + &FileHeader->Name,=0D + &gAprioriGuid=0D + ))=0D + {=0D + printf("\n");=0D + printf("DXE APRIORI FILE:\n");=0D + return PrintAprioriFile (FileHeader);=0D + }=0D +=0D return EFI_SUCCESS;=0D }=0D =0D --=20 2.25.1