From nobody Mon Feb 9 16:44:59 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+58731+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+58731+1787277+3901457@groups.io ARC-Seal: i=1; a=rsa-sha256; t=1588786089; cv=none; d=zohomail.com; s=zohoarc; b=WeSucBkXsf6kin2N3qsmKE1l9Vvu9wM1dS2W/glTH24x4o0yDbmTL1bs/D0JSvRFfYSSvS+WLNoXvj+BkBCdZ72x7XyQnaHn5Xa+By8tN0in7BcvDb3sUrlk//053kw6IsFSXGiBt07FTLtGbTrFQP8HACuQfB62P3pcTqvOezk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1588786089; h=Cc:Date:From:In-Reply-To:List-Id:List-Unsubscribe:Message-ID:Reply-To:References:Sender:Subject:To; bh=QM5t3fwONNkhit+SEUR2kp/f3jt7MDRZ7mU3oEGohfI=; b=WCGYJAQDHQleYLSymnzPEDXFeWlQoH8H1gNE10iXVqiUTWBQy9Txlh7mdWBDtzw+rdasInIqDx/sLL6JS+mNKEqgQun4OQBHBvZsENAJJSxbMMTjI81dQAElrBgbbsCOeqcP8Cpw4C8hFpnx6MufXmkm4xfM6Pep1aryAExih7E= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+58731+1787277+3901457@groups.io Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1588786088916860.8229695096263; Wed, 6 May 2020 10:28:08 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id qLnuYY1788612xtdfVYZ6iAg; Wed, 06 May 2020 10:28:08 -0700 X-Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web11.70.1588786087918746976 for ; Wed, 06 May 2020 10:28:08 -0700 X-Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 7E9EE1045; Wed, 6 May 2020 10:28:06 -0700 (PDT) X-Received: from e123331-lin.nice.arm.com (unknown [10.37.8.179]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E7BA63F71F; Wed, 6 May 2020 10:28:03 -0700 (PDT) From: "Ard Biesheuvel" To: devel@edk2.groups.io Cc: Ard Biesheuvel , Michael D Kinney , Liming Gao , Jian J Wang , Hao A Wu , Leif Lindholm , Sami Mujawar , Jiewen Yao Subject: [edk2-devel] [PATCH resend 5/7] MdeModulePkg/FaultTolerantWriteSmmDxe: switch to MM communicate 2 Date: Wed, 6 May 2020 19:27:32 +0200 Message-Id: <20200506172734.2475-6-ard.biesheuvel@arm.com> In-Reply-To: <20200506172734.2475-1-ard.biesheuvel@arm.com> References: <20200506172734.2475-1-ard.biesheuvel@arm.com> 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@arm.com X-Gm-Message-State: 0bQplAd1CnDKteqEKmTS1wAAx1787277AA= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1588786088; bh=0ekhqwz25Bv1a+Y+Prkx4NA6HAkjGoQ+ufQMYrzwBKw=; h=Cc:Date:From:Reply-To:Subject:To; b=fQg8fgxtch581S+z00iOeXHV+yBPmhxMACkhmJSGBUzlE+B8q34QdVAxFkbfOb40K1S aYgPHXodl2SEgemwzFkk4yeRFHme4h8CQoMDBY4Gj/c7MFAkdLIXyjjyhwsK2HeuF8VS3 oZSZGa2Bq8Aw3ySHI5FpQpLGOL0oodWGMvQ= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Switch to the new MM communicate 2 protocol which supports both traditional and standalone MM. Signed-off-by: Ard Biesheuvel Reviewed-by: Sami Mujawar --- MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmmCommon.h= | 2 +- MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmmDxe.c = | 25 +++++++++++--------- MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmmDxe.h = | 2 +- MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmmDxe.inf = | 4 ++-- 4 files changed, 18 insertions(+), 15 deletions(-) diff --git a/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWrit= eSmmCommon.h b/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWr= iteSmmCommon.h index 4546a1b445b9..5f0eec0506ed 100644 --- a/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmmCom= mon.h +++ b/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmmCom= mon.h @@ -29,7 +29,7 @@ typedef struct { /// /// Size of SMM communicate header, without including the payload. /// -#define SMM_COMMUNICATE_HEADER_SIZE (OFFSET_OF (EFI_SMM_COMMUNICATE_HEADE= R, Data)) +#define SMM_COMMUNICATE_HEADER_SIZE (OFFSET_OF (EFI_MM_COMMUNICATE_HEADER= , Data)) =20 /// /// Size of SMM FTW communicate function header, without including the pay= load. diff --git a/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWrit= eSmmDxe.c b/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWrite= SmmDxe.c index 6e3eb3b58b09..24c20950296d 100644 --- a/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmmDxe= .c +++ b/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmmDxe= .c @@ -11,7 +11,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #include "FaultTolerantWriteSmmDxe.h" =20 EFI_HANDLE mHandle =3D NULL; -EFI_SMM_COMMUNICATION_PROTOCOL *mSmmCommunication =3D NULL; +EFI_MM_COMMUNICATION2_PROTOCOL *mMmCommunication2 =3D NULL; UINTN mPrivateDataSize =3D 0; =20 EFI_FAULT_TOLERANT_WRITE_PROTOCOL mFaultTolerantWriteDriver =3D { @@ -40,7 +40,7 @@ InitCommunicateBuffer ( IN UINTN Function ) { - EFI_SMM_COMMUNICATE_HEADER *SmmCommunicateHeader; + EFI_MM_COMMUNICATE_HEADER *SmmCommunicateHeader; SMM_FTW_COMMUNICATE_FUNCTION_HEADER *SmmFtwFunctionHeader; =20 // @@ -74,7 +74,7 @@ InitCommunicateBuffer ( **/ EFI_STATUS SendCommunicateBuffer ( - IN OUT EFI_SMM_COMMUNICATE_HEADER *SmmCommunicateHeader, + IN OUT EFI_MM_COMMUNICATE_HEADER *SmmCommunicateHeader, IN UINTN DataSize ) { @@ -83,7 +83,10 @@ SendCommunicateBuffer ( SMM_FTW_COMMUNICATE_FUNCTION_HEADER *SmmFtwFunctionHeader; =20 CommSize =3D DataSize + SMM_COMMUNICATE_HEADER_SIZE + SMM_FTW_COMMUNICAT= E_HEADER_SIZE; - Status =3D mSmmCommunication->Communicate (mSmmCommunication, SmmCommuni= cateHeader, &CommSize); + Status =3D mMmCommunication2->Communicate (mMmCommunication2, + SmmCommunicateHeader, + SmmCommunicateHeader, + &CommSize); ASSERT_EFI_ERROR (Status); =20 SmmFtwFunctionHeader =3D (SMM_FTW_COMMUNICATE_FUNCTION_HEADER *) SmmComm= unicateHeader->Data; @@ -148,7 +151,7 @@ FtwGetMaxBlockSize ( { EFI_STATUS Status; UINTN PayloadSize; - EFI_SMM_COMMUNICATE_HEADER *SmmCommunicateHeader; + EFI_MM_COMMUNICATE_HEADER *SmmCommunicateHeader; SMM_FTW_GET_MAX_BLOCK_SIZE_HEADER *SmmFtwBlockSizeHeader; =20 // @@ -204,7 +207,7 @@ FtwAllocate ( { EFI_STATUS Status; UINTN PayloadSize; - EFI_SMM_COMMUNICATE_HEADER *SmmCommunicateHeader; + EFI_MM_COMMUNICATE_HEADER *SmmCommunicateHeader; SMM_FTW_ALLOCATE_HEADER *SmmFtwAllocateHeader; =20 // @@ -270,7 +273,7 @@ FtwWrite ( { EFI_STATUS Status; UINTN PayloadSize; - EFI_SMM_COMMUNICATE_HEADER *SmmCommunicateHeader; + EFI_MM_COMMUNICATE_HEADER *SmmCommunicateHeader; SMM_FTW_WRITE_HEADER *SmmFtwWriteHeader; =20 // @@ -336,7 +339,7 @@ FtwRestart ( { EFI_STATUS Status; UINTN PayloadSize; - EFI_SMM_COMMUNICATE_HEADER *SmmCommunicateHeader; + EFI_MM_COMMUNICATE_HEADER *SmmCommunicateHeader; SMM_FTW_RESTART_HEADER *SmmFtwRestartHeader; =20 // @@ -381,7 +384,7 @@ FtwAbort ( ) { EFI_STATUS Status; - EFI_SMM_COMMUNICATE_HEADER *SmmCommunicateHeader; + EFI_MM_COMMUNICATE_HEADER *SmmCommunicateHeader; =20 // // Initialize the communicate buffer. @@ -438,7 +441,7 @@ FtwGetLastWrite ( { EFI_STATUS Status; UINTN PayloadSize; - EFI_SMM_COMMUNICATE_HEADER *SmmCommunicateHeader; + EFI_MM_COMMUNICATE_HEADER *SmmCommunicateHeader; SMM_FTW_GET_LAST_WRITE_HEADER *SmmFtwGetLastWriteHeader; =20 // @@ -501,7 +504,7 @@ SmmFtwReady ( return; } =20 - Status =3D gBS->LocateProtocol (&gEfiSmmCommunicationProtocolGuid, NULL,= (VOID **) &mSmmCommunication); + Status =3D gBS->LocateProtocol (&gEfiMmCommunication2ProtocolGuid, NULL,= (VOID **) &mMmCommunication2); ASSERT_EFI_ERROR (Status); =20 // diff --git a/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWrit= eSmmDxe.h b/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWrite= SmmDxe.h index 22df9103d21a..a15644abd731 100644 --- a/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmmDxe= .h +++ b/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmmDxe= .h @@ -13,7 +13,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent =20 #include =20 -#include +#include =20 #include #include diff --git a/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWrit= eSmmDxe.inf b/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWri= teSmmDxe.inf index f5dc4bb4fee3..f0dd829653f1 100644 --- a/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmmDxe= .inf +++ b/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmmDxe= .inf @@ -45,7 +45,7 @@ [LibraryClasses] =20 [Protocols] gEfiFaultTolerantWriteProtocolGuid ## PRODUCES - gEfiSmmCommunicationProtocolGuid ## CONSUMES + gEfiMmCommunication2ProtocolGuid ## CONSUMES ## NOTIFY ## UNDEFINED # Used to do smm communication ## CONSUMES @@ -53,7 +53,7 @@ [Protocols] gEfiFirmwareVolumeBlockProtocolGuid ## CONSUMES =20 [Depex] - gEfiSmmCommunicationProtocolGuid + gEfiMmCommunication2ProtocolGuid =20 [UserExtensions.TianoCore."ExtraFiles"] FaultTolerantWriteSmmDxeExtra.uni --=20 2.17.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 (#58731): https://edk2.groups.io/g/devel/message/58731 Mute This Topic: https://groups.io/mt/74033575/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-