From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Achin.Gupta@arm.com>
Received-SPF: Pass (sender SPF authorized) identity=mailfrom;
 client-ip=104.47.2.82; helo=eur01-db5-obe.outbound.protection.outlook.com;
 envelope-from=achin.gupta@arm.com; receiver=edk2-devel@lists.01.org 
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0082.outbound.protection.outlook.com [104.47.2.82])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits))
 (No client certificate requested)
 by ml01.01.org (Postfix) with ESMTPS id D524E20352131
 for <edk2-devel@lists.01.org>; Mon, 30 Apr 2018 13:00:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; 
 s=selector1-arm-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version;
 bh=b8K7nw/lwbx8i+H7P79q8U7v7TZ4S0n4X13ZkwS4TOk=;
 b=pi82sydSyYKR8CisEBtG26zqEON1n/Fm0o0OE2bUFOU+EbAGKFK0RAKdEMAPBNbr7ZCj6FISNWzlQkry+DPd1oDd8uo6bh2F+d9aRMFS0DMQadgeez4vcGk97M2z8QDorgOnhWOjxItVi1k7sdj5kVj8BQcL/GLJypsvS+3TnOI=
Authentication-Results: spf=none (sender IP is )
 smtp.mailfrom=Achin.Gupta@arm.com; 
Received: from e104320-lin (217.140.96.140) by
 VI1PR08MB2990.eurprd08.prod.outlook.com (2603:10a6:803:44::20) with Microsoft
 SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.715.23; Mon, 30
 Apr 2018 20:00:32 +0000
Date: Mon, 30 Apr 2018 21:02:00 +0100
From: Achin Gupta <achin.gupta@arm.com>
To: Supreeth Venkatesh <supreeth.venkatesh@arm.com>
Cc: edk2-devel@lists.01.org, michael.d.kinney@intel.com,
 liming.gao@intel.com, jiewen.yao@intel.com,
 leif.lindholm@linaro.org, ard.biesheuvel@linaro.org, nd@arm.com
Message-ID: <20180430200200.GB663@e104320-lin>
References: <20180406144223.10931-1-supreeth.venkatesh@arm.com>
 <20180406144223.10931-18-supreeth.venkatesh@arm.com>
MIME-Version: 1.0
In-Reply-To: <20180406144223.10931-18-supreeth.venkatesh@arm.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Originating-IP: [217.140.96.140]
X-ClientProxiedBy: LNXP265CA0054.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:5d::18) To VI1PR08MB2990.eurprd08.prod.outlook.com
 (2603:10a6:803:44::20)
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-HT: Tenant
X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0;
 RULEID:(7020095)(4652020)(48565401081)(5600026)(2017052603328)(7153060)(7193020);
 SRVR:VI1PR08MB2990; 
X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB2990;
 3:BBWxeOCWSq4ExgeDlbbKXeX461kodRnDEYSj+tmtCVG2gxk0Q8apnXI3+x4NPiiai7h3v0ycsi4Boa5tUa7oZ474i2URSwZL1vIBNzsuxEdn6UUhLbn6IVB7C/bu4kB6pqETZfNIXNBEY+CwhcOC+Ch2LPTOQQYMROPya0bzVBrydC5McoqIY6VWDk7fixLctRfqLPS0fkAjZLbQ6h5g0T353wF9hF9jxg4cnIbSRBrQNxSCaTmZI3Sw/oh6JZ/F;
 25:psvG4mt1e1bwTdnS7wqSevoT62yzR9OGWt7trv4rOo9L68/APH4MWG/zKbksL0ZKzi6TvVKzuUIDnCU16d+itdEsT/GEBNrBMdFansvirRD/9rPP9rZUCd2HFcxkQp0GsinyuWHZ8dajZzzGfN3d34Ma/bS0tPsHys7rgarpoVg0LFQ23/sRyfjHZcdBl0CYA0YHJ1cyLEkjpnWutwpDwKGtLoxLQvMlkiDIkMtDpBvcGX4xXXrhd7PmMLzB1X4gBNGfWsn63tFHxGkgux8vm+x3/PlvMTanPN/E9f4B34GH/QdOhTtuPjACprfX4foN0aPFCal6mq/Mz8zbWc83OA==;
 31:j/zPckmsfgVrOFVX5wnd+LXsdC4/R9OJzDWz6fyd/p3MaaZ4dPlPy7RRepVfvUpgZ+Hv+okhhnalaqY3921m+HUDXgABxEy3jePmqJR/5VgALtdMfT6pvalwKQpMCuTKPAt3oi2Uwaph8iWPbBtO4t3XPWZJCW3AHYOYllxoiiOsIu8lnmlx2ZO5JEoWiwfT5GOMmtU/7eSh692hCKT2bmCaGgZz7jXCjaIctwLJOSY=
X-MS-TrafficTypeDiagnostic: VI1PR08MB2990:
NoDisclaimer: True
X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB2990;
 20:6Js6PPbYoUef/2sAofmYkabEbesPriDaASoc4pjjBDISonKCC0PEm4HiNImhfThhhLAtMAN1wyHRJHsmDtgs6yeuyOTLwQSLftz/mGwbVU5FP1LAFq2AG4dMCiv6jcqm84347mTkqDRYvTiE8iMcHh6Oee4ay0Lel1a6BwTbhrnZoDqeDd3K3jCuldP42Q4ZdQM6J2hrEDqxQsJ8yXmd7h2fr5xRpRSQkOVqbFMAVE4A/5cHVpY2i/A6MO91qiXC;
 4:OG9b0JeHw7hAYcSWf/S0fIfYLboywc3pYiUQLRGdClLIFvtMAqGRAjjWQvJ6rpgVk09dz0ueCTl8i2nunCY9uY9+g+Ls63shSuxeCvP37e2NvW+KN/N1u6+C6gJBWkonDPNHNe9JYtkdlpVfI9AuqWPYb+jl7BQXkVE31NOqQrtOesab/pDdAF8q6Qd1jWF9jDlufQEI1/nAjMUOTkz8lRh5fqSH5SWGD9PWnmtTbcx3Vhf6Ef0aGkDc98Cicp+DNsY+FT2OQXAOTqmoBWJU5GJH0mdL9XDjPq4y0J2thuouFDGXqWhs8wLrwUYn1fqE
X-Microsoft-Antispam-PRVS: <VI1PR08MB299084A566708C583AA7974AFF820@VI1PR08MB2990.eurprd08.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:(180628864354917);
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3002001)(93006095)(93001095)(10201501046)(3231254)(944501410)(52105095)(6055026)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123562045)(20161123564045)(20161123558120)(6072148)(201708071742011);
 SRVR:VI1PR08MB2990; BCL:0; PCL:0; RULEID:; SRVR:VI1PR08MB2990; 
X-Forefront-PRVS: 0658BAF71F
X-Forefront-Antispam-Report: SFV:NSPM;
 SFS:(10009020)(6029001)(346002)(366004)(376002)(396003)(39380400002)(39860400002)(199004)(189003)(6306002)(72206003)(106356001)(9686003)(105586002)(6636002)(55016002)(229853002)(7736002)(966005)(33656002)(575784001)(2906002)(6246003)(53936002)(4326008)(33896004)(68736007)(86362001)(305945005)(66066001)(47776003)(6862004)(53376002)(33716001)(6666003)(16586007)(58126008)(478600001)(16799955002)(15188155005)(8936002)(316002)(81156014)(50466002)(8676002)(476003)(11346002)(6496006)(81166006)(26005)(97736004)(386003)(5660300001)(446003)(486006)(3846002)(6116002)(76176011)(16526019)(52116002)(1076002)(23726003)(44832011)(25786009)(956004)(18370500001)(107986001);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR08MB2990; H:e104320-lin; FPR:; SPF:None;
 LANG:en; PTR:InfoNoRecords; A:1; MX:1; 
Received-SPF: None (protection.outlook.com: arm.com does not designate
 permitted sender hosts)
X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR08MB2990;
 23:R1MdEIBMP5XjQBjQ3OARSf6qNczPWc8IAr2YpIiz8?=
 =?us-ascii?Q?V5zk47J8u/TgcLEPxiX/xE8MnfdVs8PO4S4bzU6SeWMVc2DvTE9iIFEvnz/Y?=
 =?us-ascii?Q?j9JYOtQW6UUdXrOUYSlRxZ0TRan2Sbff1MSTUbxrf0NKIJqRDm/jBdQ7c0z8?=
 =?us-ascii?Q?y0LVXcO0eDTcMm0r1w9mHVNen4698Fq/GNaKs3CMunzUMH8c5dF28rck01+U?=
 =?us-ascii?Q?fNxxSjbscRPh43CipSGZuupDxBlxWH9af/ZWTdmpnySVS6cnER6RsEPbkylb?=
 =?us-ascii?Q?3BF6xQ84GjcRWG33QFHwXyZ6hYAAF8LziZJ+cOOlJVM2pOLnILA80m+yDOl7?=
 =?us-ascii?Q?d9Yr+kcCZ34uS4DxH2aOSsyHHp2LLK/4FzM2UCJnrCzSnM1AVFJ8pe6NNBV8?=
 =?us-ascii?Q?Ygl0SvQYWE2j3difK6vALsOKISIwTEFq6p6Bc/WeOiv5lsE93B52BWaVoa/Z?=
 =?us-ascii?Q?i1Xk0kQ53fmv/OSjaXAKWaFqy2o/mDn6+f1mLyMuF1OlDPZtboomJqh85ZEv?=
 =?us-ascii?Q?PumqIQxQ90HuxNqRZmvwjZfl41KULXZUy0XqJcU/+KFCbA4ur31PQcXgAqxK?=
 =?us-ascii?Q?eKHowKNM42UGhkR6vVNlHPShoOS9S9CfzejUJyg0GkAdbev1QWb5vDaJ7N0Q?=
 =?us-ascii?Q?0wL4sr4a2k4hL5ylp7twslTii5CqnR0w/8q0Y7hA1Zs3ZGuCr5knM2ItoCju?=
 =?us-ascii?Q?H3sNE8UDYcY3GFN/q8L33FzAdR1BpzXCTB7m97WNyLmQ7e45U87f+CskTTqn?=
 =?us-ascii?Q?ao3WvBl2tq56qX4DElideJRb9rJcWw3NRE7rRAvXUF6/YHTVzCecvYNsAvru?=
 =?us-ascii?Q?ktC4m/OnZ6t8nHaVV/TsLrwEK5+DjT/EX/FCPQTdFfnEmrH60yfZsimf2jaI?=
 =?us-ascii?Q?96yTJPdc/Q0FVT2kA3ton67lQNnfMKZaGX/0uuYlSBRTI3d2uo+pa7Dn68Bb?=
 =?us-ascii?Q?K4ajO1QfnqoeAUJKilQXHmtcL0NAEJh6zrJoPhydtgKU2d8Jcyn5bNsZwNCT?=
 =?us-ascii?Q?3qCMmPoFC4SPHYXHOoe+T2I31FSzfLZnftMaLqHz0fXOUWsR9qfsB2TXEmC7?=
 =?us-ascii?Q?RfqPvafT3wN/zZLhwlUwZ9/I8/41tuQBxkX5nFVS5KYfjKCPl7FdKHN3J9YR?=
 =?us-ascii?Q?pCclMjA3Rkn29nVzdOpjSKOyThAGpxAbQpUebI0RkLM7ZJHO4aPhrG9cNSB3?=
 =?us-ascii?Q?qKCJ6mE7iPmrpQiLmkoeE3iBAYI1F6lNGpy95GeK/Ks1rHDj8DEQ0KejmhKA?=
 =?us-ascii?Q?qP6qcihP7MmXj21nbnsGXt1yrQ6eMEtKYJkvUdQN3nTmET4vbjyfAucLRnZd?=
 =?us-ascii?Q?oCDj2mrarL6HJYgoteszanewRz/HQqx6WYk/9dKcS5gGaZPxuZs45dDHgRzL?=
 =?us-ascii?Q?iLU9qnc7rMXMMb4plb0fVkNipDqpfskPLWxO9bq4SyKBwiPWBTnC8ZmxzNhk?=
 =?us-ascii?Q?S4tNRhgkdDdYS57BUX2nzCA/UM8kdx427efqNCNTutDy80kzn79UdjWzwgyc?=
 =?us-ascii?Q?WwHPSrLBxweSA=3D=3D?=
X-Microsoft-Antispam-Message-Info: OOQXtsFYVB/mzEzOp71cZttQ6njBykD7C8WenipGqS4RcSwPGzNeKdFixHVqHdZ8XZzGOJTkhcGDSLH3c1xjh/4uPxyWLHVOoFM4c1oiSKorP3V44Mhs49Igw3m7JvITE5kUD9QvjXiBsECm8v3zEyR6RDg0emLtAYn5EPLpYEn4286prLbR5Xgcr/1D5Om/
X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB2990;
 6:Wh3B5N+GULjxQpBAXhHuv/H3+dBPNNpVQrEVAC7eJbLS/F6St1Ex2t9k3vyuglbXYPCGgQUkcU1LiD82jtFb7zku2zZSJPbOhSpQcnVQU1UI274fmDe8TEY6AB3frfPFja9y3uRnmsp7+r4xNhB0Khx/sFz7jABxiipwryJXpxxATy9w21a4DpOQRPN/snIcX4+pvaB7ljrbQu9rB2ikc44Z6ytWvYwZgt+IQp7jy8RJ+C+YfG/tJQcNK+PAPFEI4ubuYV5x/L3kGiN/L/thnXCvbps9U7u6sbq+RJQqI2EEbFY4w1CkIrGKRfHIdEoPiuwnDQD+IjhP6J2CcVsyFFF/lQkqoddjGp0VE176LMPJgsiQASzb05DXi0VuQrYzm8UEZZ/81Md33dyuoLdolqndcOlc/1t8iIiB/clwKovdKKpA0FOhN0AbL7SJUSIJfu6elToEc3+2bSiFBf+QEA==;
 5:OZjPkf1ztOkadQGh8fBQMcip94g++EMSKDp68kz4eyhGoOa/+oQviFPgrdLm6MOJUJ714SQz4sykV3QGaMWLVQMEurcChy4ScqoFlPB0DyIKS8gpVTRj83uLLTpygjyHCX5ZY5NQZIiGoG7oeF3E+frzNePlnPTjQYev8P7BkJA=;
 24:35Z9UiMC54D8O2eYXR3mu7uYdb/yzl/R8HoLeUZC4X/K11WEgZhXDEhZMF7k8MTIh2x0wy08jurfSvylRLdEAHagNTF5SmpikA4zvOikq/4=
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB2990;
 7:o9/ZDFZoJvyQ9Yqp+/YVRi0yIO7+uBREcctWOG24xN1iilW3GU4lak3ARAXUSy6uCE8s8qS3PCyA6374Hw9Q/NHUGPAONDmYjnQJpXirdxK6jRPUuNmuK4SuFoPRWwEAIap78PBNTFEzhrCHwW1l0o8sScxRZN+ZR/bEVqmTKgBUqVjxNh1Bs60dhnFXyq9p7MP89r9mVDi+/77bpcGe1wxA7uVQW2Wo1BJkNF9DgDIVmGVZMh9S+wWnGQBTDQyH
X-MS-Office365-Filtering-Correlation-Id: 89feb4e7-f7f7-4760-6e86-08d5aed507fe
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2018 20:00:32.4268 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 89feb4e7-f7f7-4760-6e86-08d5aed507fe
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB2990
Subject: Re: [PATCH v1 17/18] StandaloneMmPkg: Add application to test MM communication protocol.
X-BeenThere: edk2-devel@lists.01.org
X-Mailman-Version: 2.1.26
Precedence: list
List-Id: EDK II Development  <edk2-devel.lists.01.org>
List-Unsubscribe: <https://lists.01.org/mailman/options/edk2-devel>,
 <mailto:edk2-devel-request@lists.01.org?subject=unsubscribe>
List-Archive: <http://lists.01.org/pipermail/edk2-devel/>
List-Post: <mailto:edk2-devel@lists.01.org>
List-Help: <mailto:edk2-devel-request@lists.01.org?subject=help>
List-Subscribe: <https://lists.01.org/mailman/listinfo/edk2-devel>,
 <mailto:edk2-devel-request@lists.01.org?subject=subscribe>
X-List-Received-Date: Mon, 30 Apr 2018 20:00:36 -0000
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hi Supreeth,

I agree with Jiewen that these should not be a part of this series. Can you push
these in a separate series?

cheers,
Achin

On Fri, Apr 06, 2018 at 03:42:22PM +0100, Supreeth Venkatesh wrote:
> This patch adds a simple application that uses the MM
> communication protocol to pass a copy of the UEFI system table to
> the MM environment in the secure world.
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Achin Gupta <achin.gupta@arm.com>
> Signed-off-by: Supreeth Venkatesh <supreeth.venkatesh@arm.com>
> ---
>  .../Application/MmCommTestApp/MmCommTest.c         | 81 ++++++++++++++++++++++
>  .../Application/MmCommTestApp/MmCommTest.h         | 37 ++++++++++
>  .../Application/MmCommTestApp/MmCommTest.inf       | 57 +++++++++++++++
>  3 files changed, 175 insertions(+)
>  create mode 100644 StandaloneMmPkg/Application/MmCommTestApp/MmCommTest.c
>  create mode 100644 StandaloneMmPkg/Application/MmCommTestApp/MmCommTest.h
>  create mode 100644 StandaloneMmPkg/Application/MmCommTestApp/MmCommTest.inf
> 
> diff --git a/StandaloneMmPkg/Application/MmCommTestApp/MmCommTest.c b/StandaloneMmPkg/Application/MmCommTestApp/MmCommTest.c
> new file mode 100644
> index 0000000000..efbafdde62
> --- /dev/null
> +++ b/StandaloneMmPkg/Application/MmCommTestApp/MmCommTest.c
> @@ -0,0 +1,81 @@
> +/** @file
> +  This sample application demos how to communicate
> +  with secure partition using MM communication protocol
> +
> +  Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.<BR>
> +
> +  This program and the accompanying materials
> +  are licensed and made available under the terms and conditions of the BSD License
> +  which accompanies this distribution.  The full text of the license may be found at
> +  http://opensource.org/licenses/bsd-license.php
> +
> +  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> +  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
> +
> +**/
> +
> +#include <Uefi.h>
> +#include <Library/PcdLib.h>
> +#include <Library/UefiLib.h>
> +#include <Library/UefiApplicationEntryPoint.h>
> +#include <Library/DebugLib.h>
> +#include <Library/BaseMemoryLib.h>
> +#include <Library/UefiBootServicesTableLib.h>
> +
> +#include "MmCommTest.h"
> +
> +#include <Library/ArmSmcLib.h>
> +
> +#include <Protocol/MmCommunication.h>
> +
> +EFI_MM_COMMUNICATION_PROTOCOL  *mMmCommunication = NULL;
> +
> +EFI_STATUS
> +MmIplNotifyCommTest (
> +  VOID
> +  )
> +{
> +  EFI_MM_COMMUNICATE_TEST    MmCommTest;
> +  UINTN                      Size;
> +
> +  DEBUG ((DEBUG_INFO, "MmIplNotifyCommTest\n"));
> +
> +  CopyGuid (&MmCommTest.HeaderGuid, &gMmCommTestGuid);
> +  CopyMem (&MmCommTest.Data.EfiSystemTable, gST, sizeof (EFI_SYSTEM_TABLE));
> +  MmCommTest.MessageLength = sizeof (EFI_MM_COMMUNICATE_TEST_DATA);
> +
> +  //
> +  // Generate the MM_COMMUNICATE SMC and return the result
> +  //
> +  Size = sizeof (MmCommTest);
> +  return mMmCommunication->Communicate (NULL, &MmCommTest, &Size);
> +}
> +
> +/**
> +  The user Entry Point for Application. The user code starts with this function
> +  as the real entry point for the application.
> +
> +  @param[in] ImageHandle    The firmware allocated handle for the EFI image.
> +  @param[in] SystemTable    A pointer to the EFI System Table.
> +
> +  @retval EFI_SUCCESS       The entry point is executed successfully.
> +  @retval other             Some error occurs when executing this entry point.
> +
> +**/
> +EFI_STATUS
> +EFIAPI
> +MmCommTestEntryPoint (
> +  IN EFI_HANDLE        ImageHandle,
> +  IN EFI_SYSTEM_TABLE  *SystemTable
> +  )
> +{
> +  EFI_STATUS Status;
> +
> +  Status = gBS->LocateProtocol (&gEfiMmCommunicationProtocolGuid, NULL, (VOID **) &mMmCommunication);
> +  if (EFI_ERROR (Status)) {
> +    return Status;
> +  }
> +
> +  return MmIplNotifyCommTest ();
> +}
> diff --git a/StandaloneMmPkg/Application/MmCommTestApp/MmCommTest.h b/StandaloneMmPkg/Application/MmCommTestApp/MmCommTest.h
> new file mode 100644
> index 0000000000..8e8305a060
> --- /dev/null
> +++ b/StandaloneMmPkg/Application/MmCommTestApp/MmCommTest.h
> @@ -0,0 +1,37 @@
> +/** @file
> +  GUIDs for MM Event.
> +
> +Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.<BR>
> +
> +This program and the accompanying materials are licensed and made available under
> +the terms and conditions of the BSD License that accompanies this distribution.
> +The full text of the license may be found at
> +http://opensource.org/licenses/bsd-license.php.
> +
> +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
> +
> +**/
> +
> +#ifndef __MM_COMM_TEST_H__
> +#define __MM_COMM_TEST_H__
> +
> +#define MM_COMM_TEST_GUID \
> +  { 0xa37721e4, 0x8c0b, 0x4bca, { 0xb5, 0xe8, 0xe9, 0x2, 0xa0, 0x25, 0x51, 0x4e }}
> +
> +extern EFI_GUID gMmCommTestGuid;
> +
> +#pragma pack(1)
> +typedef struct {
> +  EFI_SYSTEM_TABLE      EfiSystemTable;
> +} EFI_MM_COMMUNICATE_TEST_DATA;
> +
> +typedef struct {
> +  EFI_GUID                         HeaderGuid;
> +  UINTN                            MessageLength;
> +  EFI_MM_COMMUNICATE_TEST_DATA     Data;
> +} EFI_MM_COMMUNICATE_TEST;
> +#pragma pack()
> +
> +#endif
> diff --git a/StandaloneMmPkg/Application/MmCommTestApp/MmCommTest.inf b/StandaloneMmPkg/Application/MmCommTestApp/MmCommTest.inf
> new file mode 100644
> index 0000000000..1828cd7e13
> --- /dev/null
> +++ b/StandaloneMmPkg/Application/MmCommTestApp/MmCommTest.inf
> @@ -0,0 +1,57 @@
> +## @file
> +#  Sample UEFI Application Reference EDKII Module.
> +#
> +#  This is a sample shell application that will print "UEFI firmware version Info!" to the
> +#  UEFI Console.
> +#
> +#  It demos how to communicate with secure partition using MM
> +#  communication protocol.
> +#
> +#  Copyright (c) 2008 - 2014, Intel Corporation. All rights reserved.<BR>
> +#  Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.
> +#
> +#  This program and the accompanying materials
> +#  are licensed and made available under the terms and conditions of the BSD License
> +#  which accompanies this distribution. The full text of the license may be found at
> +#  http://opensource.org/licenses/bsd-license.php
> +#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> +#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
> +#
> +#
> +##
> +
> +[Defines]
> +  INF_VERSION                    = 0x0001001A
> +  BASE_NAME                      = MmCommTest
> +  FILE_GUID                      = 6987936E-ED34-44db-AE97-1FA5E4ED2116
> +  MODULE_TYPE                    = UEFI_APPLICATION
> +  VERSION_STRING                 = 1.0
> +  ENTRY_POINT                    = MmCommTestEntryPoint
> +
> +[Sources]
> +  MmCommTest.c
> +
> +[Packages]
> +  ArmPkg/ArmPkg.dec
> +  ArmPlatformPkg/ArmPlatformPkg.dec
> +  MdePkg/MdePkg.dec
> +  StandaloneMmPkg/StandaloneMmPkg.dec
> +
> +[LibraryClasses]
> +  ArmSmcLib
> +  BaseMemoryLib
> +  DebugLib
> +  PrintLib
> +  UefiApplicationEntryPoint
> +  UefiBootServicesTableLib
> +  UefiLib
> +
> +[FeaturePcd]
> +
> +[Pcd]
> +
> +[Guids]
> +  gMmCommTestGuid
> +
> +[Protocols]
> +  gEfiMmCommunicationProtocolGuid
> -- 
> 2.16.2
>