From nobody Fri Nov 1 04:33:54 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 152302584312384.77920286521612; Fri, 6 Apr 2018 07:44:03 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 1AD8022620E85; Fri, 6 Apr 2018 07:44:02 -0700 (PDT) Received: from foss.arm.com (usa-sjc-mx-foss1.foss.arm.com [217.140.101.70]) by ml01.01.org (Postfix) with ESMTP id B36A722620E7D for ; Fri, 6 Apr 2018 07:44:00 -0700 (PDT) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 94E241529; Fri, 6 Apr 2018 07:44:00 -0700 (PDT) Received: from u201365.usa.Arm.com (bc-c3-3-14.eu.iaas.arm.com [10.6.43.238]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 1E03C3F587; Fri, 6 Apr 2018 07:43:58 -0700 (PDT) X-Original-To: edk2-devel@lists.01.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=217.140.101.70; helo=foss.arm.com; envelope-from=supreeth.venkatesh@arm.com; receiver=edk2-devel@lists.01.org From: Supreeth Venkatesh To: edk2-devel@lists.01.org Date: Fri, 6 Apr 2018 15:42:23 +0100 Message-Id: <20180406144223.10931-19-supreeth.venkatesh@arm.com> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180406144223.10931-1-supreeth.venkatesh@arm.com> References: <20180406144223.10931-1-supreeth.venkatesh@arm.com> Subject: [edk2] [PATCH v1 18/18] StandaloneMmPkg: Add handler to handle event received from Normal World. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: ard.biesheuvel@linaro.org, leif.lindholm@linaro.org, jiewen.yao@intel.com, liming.gao@intel.com, michael.d.kinney@intel.com MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" This patch adds a simple handler to handle event received from "mmcommtest" shell application. It prints the version information from the copy of the UEFI system table received from normal world. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Achin Gupta Signed-off-by: Supreeth Venkatesh --- StandaloneMmPkg/Core/StandaloneMmCore.c | 39 +++++++++++++++++++++++++++= ++++ StandaloneMmPkg/Core/StandaloneMmCore.inf | 2 ++ StandaloneMmPkg/StandaloneMmPkg.dec | 2 ++ 3 files changed, 43 insertions(+) diff --git a/StandaloneMmPkg/Core/StandaloneMmCore.c b/StandaloneMmPkg/Core= /StandaloneMmCore.c index 0bb99b9710..4aaecdb2ea 100644 --- a/StandaloneMmPkg/Core/StandaloneMmCore.c +++ b/StandaloneMmPkg/Core/StandaloneMmCore.c @@ -95,6 +95,15 @@ EFI_MM_SYSTEM_TABLE gMmCoreMmst =3D { // BOOLEAN mInLegacyBoot =3D FALSE; =20 +EFI_STATUS +EFIAPI +MmCommTestHandler ( + IN EFI_HANDLE DispatchHandle, + IN CONST VOID *Context, OPTIONAL + IN OUT VOID *CommBuffer, OPTIONAL + IN OUT UINTN *CommBufferSize OPTIONAL + ); + // // Table of MMI Handlers that are registered by the MM Core when it is ini= tialized // @@ -106,6 +115,7 @@ MM_CORE_MMI_HANDLERS mMmCoreMmiHandlers[] =3D { { MmLegacyBootHandler, &gEfiEventLegacyBootGuid, NULL, FAL= SE }, { MmExitBootServiceHandler,&gEfiEventExitBootServicesGuid, NULL, FAL= SE }, { MmReadyToBootHandler, &gEfiEventReadyToBootGuid, NULL, FAL= SE }, + { MmCommTestHandler, &gMmCommTestGuid, NULL, TRU= E }, { NULL, NULL, NULL, FAL= SE }, }; =20 @@ -379,7 +389,36 @@ MmEndOfDxeHandler ( return Status; } =20 +/** + This function is the main entry point for communicate-based callback. + + @param DispatchHandle The unique handle assigned to this handler by Mm= iHandlerRegister(). + @param Context Points to an optional handler context which was = specified when the handler was registered. + @param CommBuffer A pointer to a collection of data in memory that= will + be conveyed from a non-MM environment into an MM= environment. + @param CommBufferSize The size of the CommBuffer. =20 + @return Status Code +**/ +EFI_STATUS +EFIAPI +MmCommTestHandler ( + IN EFI_HANDLE DispatchHandle, + IN CONST VOID *Context, OPTIONAL + IN OUT VOID *CommBuffer, OPTIONAL + IN OUT UINTN *CommBufferSize OPTIONAL + ) +{ + EFI_SYSTEM_TABLE SystemTable; + + DEBUG ((DEBUG_INFO, "MmUefiInfoHandler\n")); + + CopyMem (&SystemTable, CommBuffer, sizeof(EFI_SYSTEM_TABLE)); + + DEBUG ((DEBUG_INFO, " UEFI Firmware Version - 0x%x\n", SystemTable.Firm= wareRevision)); + + return EFI_SUCCESS; +} =20 /** The main entry point to MM Foundation. diff --git a/StandaloneMmPkg/Core/StandaloneMmCore.inf b/StandaloneMmPkg/Co= re/StandaloneMmCore.inf index c5eaa14ba3..b35870732c 100644 --- a/StandaloneMmPkg/Core/StandaloneMmCore.inf +++ b/StandaloneMmPkg/Core/StandaloneMmCore.inf @@ -78,3 +78,5 @@ gEfiEventLegacyBootGuid gEfiEventExitBootServicesGuid gEfiEventReadyToBootGuid + gMmCommTestGuid + diff --git a/StandaloneMmPkg/StandaloneMmPkg.dec b/StandaloneMmPkg/Standalo= neMmPkg.dec index 36521bb039..d88be3ce5e 100644 --- a/StandaloneMmPkg/StandaloneMmPkg.dec +++ b/StandaloneMmPkg/StandaloneMmPkg.dec @@ -39,6 +39,8 @@ gEfiStandaloneMmNonSecureBufferGuid =3D { 0xf00497e3, 0xbfa2, 0x41a= 1, { 0x9d, 0x29, 0x54, 0xc2, 0xe9, 0x37, 0x21, 0xc5 }} gEfiArmTfCpuDriverEpDescriptorGuid =3D { 0x6ecbd5a1, 0xc0f8, 0x470= 2, { 0x83, 0x01, 0x4f, 0xc2, 0xc5, 0x47, 0x0a, 0x51 }} =20 + gMmCommTestGuid =3D { 0xa37721e4, 0x8c0b, 0x4bc= a, { 0xb5, 0xe8, 0xe9, 0x2, 0xa0, 0x25, 0x51, 0x4e }} + [PcdsFeatureFlag] gStandaloneMmPkgTokenSpaceGuid.PcdStandaloneMmEnable|FALSE|BOOLEAN|0x000= 00001 =20 --=20 2.16.2 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel