From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40073.outbound.protection.outlook.com [40.107.4.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 7C02F21E1B750 for ; Fri, 22 Sep 2017 14:41:34 -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=e1j7hwuTeVcE7jZHzgP1Aet1m4W+q+W6J3KwojJk/Eg=; b=Vce0kaceOfQrEG0TCVIADeFMAOB8bW+gs767r+tHa2CpHsZJbNwORNy5/0tUAAiJeG3CicWJxtdHPr5lwhllk/Vhn+Air1PXodzsy9x++rJIviGd55iIJzEGz2eCrDqWlxNmM6beaEDFT023pUka2U/Z1J02ORBMN7ImesTcl0w= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Achin.Gupta@arm.com; Received: from e104320-lin (217.140.96.140) by VI1PR08MB2703.eurprd08.prod.outlook.com (2603:10a6:802:25::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.56.11; Fri, 22 Sep 2017 21:44:35 +0000 Date: Fri, 22 Sep 2017 22:45:22 +0100 From: Achin Gupta To: Supreeth Venkatesh Cc: edk2-devel@lists.01.org, leif.lindholm@linaro.org, ard.biesheuvel@linaro.org, nd@arm.com Message-ID: <20170922214522.GM26498@e104320-lin> References: <20170922192539.33085-1-supreeth.venkatesh@arm.com> MIME-Version: 1.0 In-Reply-To: <20170922192539.33085-1-supreeth.venkatesh@arm.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Originating-IP: [217.140.96.140] X-ClientProxiedBy: HE1PR05CA0193.eurprd05.prod.outlook.com (2603:10a6:3:f9::17) To VI1PR08MB2703.eurprd08.prod.outlook.com (2603:10a6:802:25::29) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fde48baf-2319-4844-3ab8-08d502031eaa X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:VI1PR08MB2703; X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB2703; 3:GqBv2kUEiyqAbKwEPiOPUj2qHwLsmoSKpQKDil0BiCSuekcPRjWd9l/x+Ora1uINPoQ56Y5Zp5/GSwSVVJh9HuJESRsxLCJrKYf/e3wsliDtxR1YC5S4bZlzRpLhoHzlkji2vPWxZLOlXAq5BhizUX/9wJiQvpHZI601S5FuZ5f5HFB/vDTPGRmLDZVcmYTFeKncUnYcalIi8RIt2VbduMc+p/6tcybUaowncDRGic6wgr064xcAMZsEa4S1uHOt; 25:w10NBcYbCP1gnGHogrlEzaWFtvQ1ND1LENcKr96F0TO2DKGT6YSbQUbqi6c9PEEzPoOWwLmQQ0cOD8j8kEmk0IWKRuEhfJ5q5SgS/8FkKLAefoVnMokct4KpgtfIwxLc8WytD4rv/HmMrSBkYeLjtQC9gAETSjos+Zk0FwJ0B9gwd0pQLQiInr22QJw2SRGUj6aQtPdrVuaS/J93V0NTbcTM1UI/9njxAhb6/D+ngyYLWYhqZS5Khql0qDSXNZf1Z0YUe4J6LznIz1HO/GdEIPtlwliVyxexm7iJQerEfWIaGSrJkc7bGxTKOI3GHc5beN9HI7Z0EcojaKHy+1aDYQ==; 31:ZOFRtCYLam6VCWD7odbnOwzwqs90n7/Q0zJrRYN73QQGLad/CW+LH8DTu+yWsSGAsWoNaIwWPn6D/pTtG2mE2/0AFVJ80fDK2MEwqHGLkX2HnpFfENG1IgGB6ctm5C1L+hr7WVL4zw7uTLrwSiXlqc4+Zz7SAGk8B50AJaQ6G/Qzsj446Wi+X4V22/SPGbn68eTDB9JexuIWqb2/D0Pzxq2wCe0vIJpMUO4O8H/Ai3M= X-MS-TrafficTypeDiagnostic: VI1PR08MB2703: NoDisclaimer: True X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB2703; 20:BJTosPDRG8d9+ytR+kOwhhI2gLwqD8ZM9rt4MkYr4iR9JwCVBZqz3jm1qLVKGIdj0DHxSV7jsrPZ8wVU405GhPe6fpeLKLMlY97d1Ng07sy6u0QfPYfQjn0g9qRiI8R/M85XEpOu5doYftePcdOldiY1ZdP44G8sgCSpJvyHtnE=; 4:Mnk8zxLJqky0c8S1podzEnzWvI6W/bFf/6dO0raKXXVzp2CcnF+IoeZ0ByHlNH88qsD1wxYvXxIRKqnsQfP9rI8vBdtG0xvS9szFf+9hY5lLhDl0DEnyyvww6bWxKHcPnCH/nAzltG6cpYhVMU4RUyz/sR/yHR94BsGAFC7CJaP1BZI3j/tY3NQ9nfF+d4MTISzwSoJmz5WMGjLceY9cz8VTMjQf6o2nkLYLxL9nTcdSISyJIpkPkWn0CbHz0M4BVBzqTvVvcWrTBTytXwGl2EAd1Rtr5HO4sXaDNgu0PmQ= X-Exchange-Antispam-Report-Test: UriScan:(180628864354917); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(10201501046)(3002001)(100000703101)(100105400095)(93006095)(93001095)(6055026)(6041248)(20161123555025)(20161123560025)(20161123562025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:VI1PR08MB2703; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:VI1PR08MB2703; X-Forefront-PRVS: 0438F90F17 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(7370300001)(6009001)(376002)(39860400002)(346002)(189002)(199003)(24454002)(55016002)(6116002)(3846002)(6496005)(50986999)(6306002)(76176999)(6246003)(7736002)(16526017)(47776003)(16586007)(58126008)(53936002)(6636002)(86362001)(54356999)(229853002)(316002)(97736004)(66066001)(305945005)(81166006)(8676002)(189998001)(81156014)(5660300001)(33716001)(83506001)(105586002)(2906002)(33656002)(106356001)(68736007)(966005)(7350300001)(1076002)(9686003)(72206003)(6666003)(50466002)(23726003)(6862004)(101416001)(478600001)(4326008)(2950100002)(25786009)(18370500001)(107986001); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR08MB2703; H:e104320-lin; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR08MB2703; 23:maEsTEz5LkrLAf7tq6TnIC8p2nkGsIwgu4yWSloTX?= =?us-ascii?Q?aSdMR3os4hjFK+NhkVSbQwIReNFsuVK1AqCuBlvihhEGxvtD8G6odHRvKqBg?= =?us-ascii?Q?D/dAS1TIJPpgpmQV1WHNaZgtRfqPKNf2bpvG1CK+8wHS6/14KAb1ZQAwZzQi?= =?us-ascii?Q?2QkkbU666DWqKwXveK/K+Ia8V2WMmPLP2SBc7nOu64vG/x8kF6kI1MyMVeKG?= =?us-ascii?Q?UZHk4sC5NExKMjPIujRCccUHik/4jANKN5nd2zBl+E0tar8HFmbn1HY/zCWW?= =?us-ascii?Q?RC63F5ssYRMEZkL4XHw6Ni3EgswVm7oQIQ+FIFLJ6Ys+/MfuK5ICLoJfdyNW?= =?us-ascii?Q?CRbei7z/KzYquxsDthOGqxwCHMIRAPvsXNP4QZIK3/33zzk8p3IrHqACXxYj?= =?us-ascii?Q?QECoj/+gQtzepWLx9sdnkL8zzTI4XSReZjkyf37XtODPsITT4mI1Vkx39jjm?= =?us-ascii?Q?wf6dg9NZp8Pj3bae1lPrGCXoI7Wfr43DN0YzHJ5xxj8sLjyPuJABvgl6bfHA?= =?us-ascii?Q?tzUM3BSRTw8HVJimgXsUG+yIijsnkHN3DKLnpaoE0T/tnDLUmrAKyLky5nWb?= =?us-ascii?Q?qEKyd339BKVo+D8NKSl3dLUk5aWNTEs2REPTe5RVjnCledxiirxEo8V9YdiF?= =?us-ascii?Q?CUjAjfP0u4QWDyIhASJz59j/K03KY40RvpIrNvtBDwAHVizhyF+SU2HgSAkW?= =?us-ascii?Q?prBaNVl+5C3kca03d5yq0LOtv5vagPdrLM7dGAf5LitEA4+BX68KzQ0jDyGn?= =?us-ascii?Q?J4jIatJfdsODbIB3e/v+UfUlPsEi8+DAtKGbxOWf0NnOP0vbOQnJhhVlI9as?= =?us-ascii?Q?Bh1i/3F1W0nu7v6/MgvNhZTwH5ndrLKbypZrVTPktr81PNCkTbKSH37bGPpa?= =?us-ascii?Q?49UXVLnA7Rm9L03n9EP3ast9toDLoyyddxBkf5bCeGj9JuqM2qyMxEn4WiyR?= =?us-ascii?Q?iv+dlXVcGs6axYHmSN1cvWZHLyZzdK71WfVZExvEyoJXtvQs+2pP5VmGLnd9?= =?us-ascii?Q?6cR/DNTEKDnXSceG4h9bGop0Fk4hH4NTaw+98ct3dYzLu0Abzs49V5OpiJTH?= =?us-ascii?Q?JCPuU3l9AKq+nzvvm6lmVj8VGb6kN4K0Yl2ontPCvSYpp1EE4BLdCIOSHa5B?= =?us-ascii?Q?DvJWCKhK7QpdE5KWD0xPO2zLX4iumVP/VpsQAaiNtnAu0IrpAbL7w9iGFcKg?= =?us-ascii?Q?VfGbCSjdQ7wDaRNcylQg38SOuPw1Y2zJJY+dxmpgQLD15UVdVPMKMPO9Uzco?= =?us-ascii?Q?gSW8mewvxV90FvwK5NmiPbcDKI1UU697GNystAfVqNEtvP5rm0hH+zieRxQX?= =?us-ascii?Q?7y1p2dIMPJWss2zsFewhKxfyyuTifSmMMWzb+QOKACoadghzaXs5xLPEA7cj?= =?us-ascii?Q?1Dk9dw0fMd1cPIxPvXIwbagYiM=3D?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR08MB2703; 6:Tbp3gZpj8nt9AuUOTZP5ZgUfb9Q3z5P39sZRpGp3gjatxCPXdDNHBOBW4Spge+PHc3rQJYxxRWq73+bTjBCkO2qZrI78Fdv4cIgm+SbDHpT0krD9/ReBHzYNFsFJHe6Qts5Yuwv6PDSyEtxRBGF3HubuRdhufqTTp9rSwrmYem9ENVevUJMg+tZLF/kZF68+2xfAJURrymf1O002rg+O7VkyiCdFNXlrevk2H0B5l5fmvBo1/NNNW21ck8renny5hE43zBKAkZ4LHu7MYbI96+ko8tshuvHGrRtHawmneEhi4WJLeT9sgnOE6jP+Jw7m3YPfAEQnHnRn6b9tl7DuJA==; 5:YykkdlveYeJT+9ILcFQYmCpxgIpaZhBYiFnh4Uy+4cxqGegW9jIoWN8cbzjcEJrn9ept8ccv5DgApdm0mMl30mO4rF2/IDIJqXx45EFGV/vHdofvMu8OTqfzrUdqP754NX7m78IcXM19ppayH8+nPA==; 24:9mK5WcGuSPBqAC6LdJd+hEgDZhfbV17Ql1h+9x3wCtGY6z+dNHRtbPFPKZjknxokN5xCuR3VyqlF/Y+OmF/yvCPsqhQOI5/IArajYwvpQXo=; 7:/+YWC3CkJe6xyG5kYCAQyNPI6rXdsKu7X8Alv25MESQOe9fm0qwJgrOVY80/OXGgFzAu2FzBYp8pcwHTImNQs7vltMZDn+rvZBRE++XGGsvm2NHuxJj8vV3s/q9WTFqTvj4zRZtvwq1Xs+oeby88+RImaAjLJNIh/wfMfvgLbU3/kygXLDxUKbjHWaZoT9JuLKmvJvmTAENyMImNDWL7A1eQcVrz+gpapbUnQC+yOCw= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Sep 2017 21:44:35.9173 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB2703 Subject: Re: [PATCH 1/1] ArmPkg/Include: Add standard SMC and SVC function IDs for MM interface. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 22 Sep 2017 21:41:35 -0000 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi Supreeth, On Fri, Sep 22, 2017 at 08:25:39PM +0100, Supreeth Venkatesh wrote: > This patch adds a list of function IDs that fall under the standard > SMC range as defined in > http://infocenter.arm.com/help/topic/com.arm.doc.den0060a/DEN0060A_ARM_MM_Interface_Specification.pdf. > > SMCs associated with Management Mode are in the range 0xC4000040 - > 0xC400005f (64 bit) and 0x84000040 - 0x8400005f (32 bit). > > The function(s) available to the normal world: > 1. Request services from the secure MM environment using MM_COMMUNICATE. > > SVCs are in the range 0xC4000060 - 0xC400007f. > The functions available to the secure MM partition: > 1. Signal completion of MM event handling. > 2. Set/Get memory attributes for a memory region at runtime. > 3. Get version number of secure partition manager. > > Also, it defines memory attributes and MM return codes. The SVCs in the 0xC4000060 - 0xC400007f range are not a part of the MM interface specification. At the moment, these are used to implement an interface between ARM TF in EL3 and S-EL0. These should go into a separate patch that introduces them as an ARM TF ABI. cheers, Achin > > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Achin Gupta > Signed-off-by: Supreeth Venkatesh > --- > ArmPkg/Include/IndustryStandard/ArmStdSmc.h | 46 ++++++++++++++++++++++++++++- > 1 file changed, 45 insertions(+), 1 deletion(-) > > diff --git a/ArmPkg/Include/IndustryStandard/ArmStdSmc.h b/ArmPkg/Include/IndustryStandard/ArmStdSmc.h > index 593a3ce729..a625bc2048 100644 > --- a/ArmPkg/Include/IndustryStandard/ArmStdSmc.h > +++ b/ArmPkg/Include/IndustryStandard/ArmStdSmc.h > @@ -1,6 +1,6 @@ > /** @file > * > -* Copyright (c) 2012-2014, ARM Limited. All rights reserved. > +* Copyright (c) 2012-2017, 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 > @@ -40,6 +40,50 @@ > #define ARM_SMC_STD_REVISION_MAJOR 0x0 > #define ARM_SMC_STD_REVISION_MINOR 0x1 > > + > +/* > + * Management Mode (MM) calls cover a subset of the Standard Service Call range. > + * The list below is not exhaustive. > + */ > +#define ARM_SMC_ID_MM_VERSION_AARCH32 0x84000040 > +#define ARM_SMC_ID_MM_VERSION_AARCH64 0xC4000040 > + > +// Request service from secure standalone MM environment > +#define ARM_SMC_ID_MM_COMMUNICATE_AARCH32 0x84000041 > +#define ARM_SMC_ID_MM_COMMUNICATE_AARCH64 0xC4000041 > + > +/* > + * SVC IDs to allow the MM secure partition to initialise itself, handle > + * delegated events and request the Secure partition manager to perform > + * privileged operations on its behalf. > + */ > +#define ARM_SVC_ID_SPM_VERSION_AARCH64 0xC4000060 > +#define ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH64 0xC4000061 > +#define ARM_SVC_ID_SP_GET_MEM_ATTRIBUTES_AARCH64 0xC4000064 > +#define ARM_SVC_ID_SP_SET_MEM_ATTRIBUTES_AARCH64 0xC4000065 > + > +#define SET_MEM_ATTR_DATA_PERM_MASK 0x3 > +#define SET_MEM_ATTR_DATA_PERM_SHIFT 0 > +#define SET_MEM_ATTR_DATA_PERM_NO_ACCESS 0 > +#define SET_MEM_ATTR_DATA_PERM_RW 1 > +#define SET_MEM_ATTR_DATA_PERM_RO 3 > + > +#define SET_MEM_ATTR_CODE_PERM_MASK 0x1 > +#define SET_MEM_ATTR_CODE_PERM_SHIFT 2 > +#define SET_MEM_ATTR_CODE_PERM_X 0 > +#define SET_MEM_ATTR_CODE_PERM_XN 1 > + > +#define SET_MEM_ATTR_MAKE_PERM_REQUEST(d_perm, c_perm) \ > + ((((c_perm) & SET_MEM_ATTR_CODE_PERM_MASK) << SET_MEM_ATTR_CODE_PERM_SHIFT) | \ > + (( (d_perm) & SET_MEM_ATTR_DATA_PERM_MASK) << SET_MEM_ATTR_DATA_PERM_SHIFT)) > + > +/* MM return error codes */ > +#define ARM_SMC_MM_RET_SUCCESS 0 > +#define ARM_SMC_MM_RET_NOT_SUPPORTED -1 > +#define ARM_SMC_MM_RET_INVALID_PARAMS -2 > +#define ARM_SMC_MM_RET_DENIED -3 > +#define ARM_SMC_MM_RET_NO_MEMORY -4 > + > /* > * Power State Coordination Interface (PSCI) calls cover a subset of the > * Standard Service Call range. > -- > 2.14.1 >