From nobody Sat May 4 12:07:02 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+92252+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+92252+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1660061859; cv=none; d=zohomail.com; s=zohoarc; b=O5gImaf/yTS+azOtXliDWbyYqPgf0GHqT5B53WGcfmaIQP0g/pxHY3K2tUFK7AtrpMXFhdL3jYvq423pIzENAYXK5050Wa1uKh4t9gotDfnoZBsu+60gmqdc6LLsgOaS4UsTjykGikoE4OI0d4G/TGk8bEEn2MVzsFDft7Md7aQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660061859; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Sender:Subject:To; bh=IxO0JPYQFFKRPMKZTHHfBYGFGT7LyMi2hlDDSYIStms=; b=nDs99W3K2LgsQo6LaOtx3He5ZKxn8pClHX4UZISamrxhcF8pq07yJlhz4cfbwV7GoGm/y9ZgvY+0ccs0MBykAZaNP2sLPg1C+DC3hjtTZLLxuqLu4AnrYdFbu7nHwkBeLRyVh0D5ySq4657OTajOxTBVxm6PUx3L0nO7j39u8cU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+92252+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1660061859033514.5721810385877; Tue, 9 Aug 2022 09:17:39 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id ISJgYY1788612xo0Aoz1w3Cw; Tue, 09 Aug 2022 09:17:38 -0700 X-Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web08.8523.1660023617580915935 for ; Mon, 08 Aug 2022 22:40:18 -0700 X-IronPort-AV: E=McAfee;i="6400,9594,10433"; a="290763454" X-IronPort-AV: E=Sophos;i="5.93,223,1654585200"; d="scan'208";a="290763454" X-Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Aug 2022 22:40:15 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,223,1654585200"; d="scan'208";a="707704475" X-Received: from jenkailx-win10.gar.corp.intel.com ([10.227.107.9]) by fmsmga002.fm.intel.com with ESMTP; 08 Aug 2022 22:40:13 -0700 From: kasimx.liu@intel.com To: devel@edk2.groups.io Cc: KasimX Liu , Guo Dong , Ray Ni , James Lu , Gua Guo Subject: [edk2-devel] [PATCH v2] MdeModulePkg: Update the SMBIOS version by UPL Date: Tue, 9 Aug 2022 13:40:08 +0800 Message-Id: <20220809054008.1437-1-kasimx.liu@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: 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,kasimx.liu@intel.com X-Gm-Message-State: PwZZTQHlGvDH4OWKZ25H0S3fx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1660061858; bh=59va+GDN0s1XYU7teHMaEUsSaGW05D/rG6nmKTHJfYQ=; h=Cc:Date:From:Reply-To:Subject:To; b=ILDEskI/axo8x3xu4VawjSmu1XxXfF9U0fPjWF2WjImqX1xkqlOF3nhS8qdqm48mvKf QHkl/iOf0arESrlwdIeEqt2VwHn6oMU9WSvvVN45bwQ0RZR0DUsthE1cICbBTfqZSk0QU oEVMnKrQcmTVnYqRzPhdPV6f/cx2Xiq1i8U= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1660061860647100001 Content-Type: text/plain; charset="utf-8" From: KasimX Liu REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4013 For the SMBIOS version can be update by UPL,we create the gUniversalPayloadSmbios3TableGuid HOB to store the value then updated version. Cc: Guo Dong Cc: Ray Ni Cc: James Lu Cc: Gua Guo Signed-off-by: KasimX Liu Reviewed-by: Gua Guo Reviewed-by: Ray Ni --- MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.c | 25 ++++++++++++++++---- MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.h | 12 +++++++--- 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.c b/MdeModulePkg/Un= iversal/SmbiosDxe/SmbiosDxe.c index 81df59cd0f..7c1e2adc02 100644 --- a/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.c +++ b/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.c @@ -1447,7 +1447,9 @@ BOOLEAN IsValidSmbios20Table ( IN VOID *TableEntry, OUT VOID **TableAddress, - OUT UINTN *TableMaximumSize + OUT UINTN *TableMaximumSize, + OUT UINT8 *MajorVersion, + OUT UINT8 *MinorVersion ) { UINT8 Checksum; @@ -1478,6 +1480,8 @@ IsValidSmbios20Table ( if (SmbiosTable->MajorVersion < 2) { return FALSE; } + *MajorVersion =3D SmbiosTable->MajorVersion; + *MinorVersion =3D SmbiosTable->MinorVersion; =20 // // The whole struct check sum should be zero @@ -1522,7 +1526,9 @@ BOOLEAN IsValidSmbios30Table ( IN VOID *TableEntry, OUT VOID **TableAddress, - OUT UINTN *TableMaximumSize + OUT UINTN *TableMaximumSize, + OUT UINT8 *MajorVersion, + OUT UINT8 *MinorVersion ) { UINT8 Checksum; @@ -1541,6 +1547,8 @@ IsValidSmbios30Table ( if (SmbiosTable->MajorVersion < 3) { return FALSE; } + *MajorVersion =3D SmbiosTable->MajorVersion; + *MinorVersion =3D SmbiosTable->MinorVersion; =20 // // The whole struct check sum should be zero @@ -1575,7 +1583,9 @@ EFI_STATUS ParseAndAddExistingSmbiosTable ( IN EFI_HANDLE ImageHandle, IN SMBIOS_STRUCTURE_POINTER Smbios, - IN UINTN Length + IN UINTN Length, + IN UINT8 MajorVersion, + IN UINT8 MinorVersion ) { EFI_STATUS Status; @@ -1583,6 +1593,9 @@ ParseAndAddExistingSmbiosTable ( EFI_SMBIOS_HANDLE SmbiosHandle; SMBIOS_STRUCTURE_POINTER SmbiosEnd; =20 + mPrivateData.Smbios.MajorVersion =3D MajorVersion; + mPrivateData.Smbios.MinorVersion =3D MinorVersion; + SmbiosEnd.Raw =3D Smbios.Raw + Length; =20 if ((Smbios.Raw >=3D SmbiosEnd.Raw) || (Smbios.Raw =3D=3D NULL)) { @@ -1692,6 +1705,8 @@ RetrieveSmbiosFromHob ( UNIVERSAL_PAYLOAD_GENERIC_HEADER *GenericHeader; VOID *TableAddress; UINTN TableMaximumSize; + UINT8 MajorVersion; + UINT8 MinorVersion; =20 Status =3D EFI_NOT_FOUND; =20 @@ -1709,9 +1724,9 @@ RetrieveSmbiosFromHob ( // SmBiosTableAdress =3D (UNIVERSAL_PAYLOAD_SMBIOS_TABLE *)GET_GUID_H= OB_DATA (GuidHob); if (GenericHeader->Length >=3D UNIVERSAL_PAYLOAD_SIZEOF_THROUGH_FI= ELD (UNIVERSAL_PAYLOAD_SMBIOS_TABLE, SmBiosEntryPoint)) { - if (mIsSmbiosTableValid[Index].IsValid ((VOID *)(UINTN)SmBiosTab= leAdress->SmBiosEntryPoint, &TableAddress, &TableMaximumSize)) { + if (mIsSmbiosTableValid[Index].IsValid ((VOID *)(UINTN)SmBiosTab= leAdress->SmBiosEntryPoint, &TableAddress, &TableMaximumSize,&MajorVersion,= &MinorVersion)) { Smbios.Raw =3D TableAddress; - Status =3D ParseAndAddExistingSmbiosTable (ImageHandle, Sm= bios, TableMaximumSize); + Status =3D ParseAndAddExistingSmbiosTable (ImageHandle, Sm= bios, TableMaximumSize,MajorVersion,MinorVersion); if (EFI_ERROR (Status)) { DEBUG ((DEBUG_ERROR, "RetrieveSmbiosFromHob: Failed to parse= preinstalled tables from Guid Hob\n")); Status =3D EFI_UNSUPPORTED; diff --git a/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.h b/MdeModulePkg/Un= iversal/SmbiosDxe/SmbiosDxe.h index 019798ea77..f1500beabd 100644 --- a/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.h +++ b/MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.h @@ -136,7 +136,9 @@ BOOLEAN IsValidSmbios30Table ( IN VOID *TableEntry, OUT VOID **TableAddress, - OUT UINTN *TableMaximumSize + OUT UINTN *TableMaximumSize, + OUT UINT8 *MajorVersion, + OUT UINT8 *MinorVersion ); =20 /** @@ -155,7 +157,9 @@ BOOLEAN IsValidSmbios20Table ( IN VOID *TableEntry, OUT VOID **TableAddress, - OUT UINTN *TableMaximumSize + OUT UINTN *TableMaximumSize, + OUT UINT8 *MajorVersion, + OUT UINT8 *MinorVersion ); =20 /** @@ -174,7 +178,9 @@ BOOLEAN (*IS_SMBIOS_TABLE_VALID) ( IN VOID *TableEntry, OUT VOID **TableAddress, - OUT UINTN *TableMaximumSize + OUT UINTN *TableMaximumSize, + OUT UINT8 *MajorVersion, + OUT UINT8 *MinorVersion ); typedef struct { EFI_GUID *Guid; --=20 2.32.0.windows.2 -=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 (#92252): https://edk2.groups.io/g/devel/message/92252 Mute This Topic: https://groups.io/mt/92918348/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-