From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR05-VI1-obe.outbound.protection.outlook.com (EUR05-VI1-obe.outbound.protection.outlook.com [40.107.21.54]) by mx.groups.io with SMTP id smtpd.web11.35477.1606138979019625150 for ; Mon, 23 Nov 2020 05:42:59 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=Ozi1F2Mq; spf=pass (domain: arm.com, ip: 40.107.21.54, mailfrom: sami.mujawar@arm.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GjpICPN8E9xzsT4L+us9nUqZz3v3xAINgtEWU2fnu9c=; b=Ozi1F2MqvTy43ZcN2wSLFsZ043XNSBrPnGuK92h/NoAoY4XFwL5YcQWQQMEMtZlIEvzndqouYKWaKLddbwp+sWvqDhAz1GyFhNfOTi2cDLFuGDSVBZXuI01j0pRJg3rwh+F5mVwnfAyghwJNUTtaTIaD8LQG4JKEG/Y3SGG1yLU= Received: from DB8P191CA0028.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:130::38) by AM9PR08MB6161.eurprd08.prod.outlook.com (2603:10a6:20b:280::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3541.21; Mon, 23 Nov 2020 13:42:55 +0000 Received: from DB5EUR03FT022.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:130:cafe::31) by DB8P191CA0028.outlook.office365.com (2603:10a6:10:130::38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3589.20 via Frontend Transport; Mon, 23 Nov 2020 13:42:54 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; edk2.groups.io; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;edk2.groups.io; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT022.mail.protection.outlook.com (10.152.20.171) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3589.20 via Frontend Transport; Mon, 23 Nov 2020 13:42:54 +0000 Received: ("Tessian outbound 814be617737e:v71"); Mon, 23 Nov 2020 13:42:54 +0000 X-CR-MTA-TID: 64aa7808 Received: from 9757b4202559.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 9F5F2A47-9A20-4D12-83C4-0BB51BA2437B.1; Mon, 23 Nov 2020 13:42:49 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9757b4202559.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 23 Nov 2020 13:42:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aJ9zo60/JE3gy6SsreoaGhtpDPLfVuXuN1+0DGtK+B5SXN9si4mzLiJR03NL7UXtjqhUNlzbRnKlihJNR0sFLP+oyLx3j6y10bu0TuyYCbKMBA88YaBRKVWGPKLyj075jIiNTWZn1vnKRRg4DRDnu/oPrCbvhwq5ip7l+TG/IsDF/f5O/VAtwU5srnZ7cWHLFrqmxrFMGG9yIgzKJry2jTApayhBZj9Ziqx9SLCc9L2IWF9O4q4hvDc0r9GtVtio3yupcQL670DcI3bSAgqFzAZkzTT5qz2BWmINUJX8DPrtIDTtOTBn1PTnHzbXPzzNY3CwbIRBC7UKhmeqE6tuEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GjpICPN8E9xzsT4L+us9nUqZz3v3xAINgtEWU2fnu9c=; b=GSjqcppAnR+4T2mRwRNs6pDFlnodS1J/lfIM0mV7atO2IYp7fRwIzggcZK9dE7d3u/9RyaniJvxZN61VGuhS4bhBIbUpiNTDXtdtH4KViBYpKmUmRYwh06yv/256UWDgXBbHSaZyVlglFrcdVm8LZAQv6F9FHcbZ1p9Rx24sbW/+6Eg5aaEqt97KgirCIm3xCVKqJzYxvGjSmP3m/lyFACjDyGZo9jPSa9/IrdfwrdjXt67+ZwKzAOL6D64HeF8LPAfZFyYuhAAsAwDaODkLf4ieZp9g1SZnBrbuUCJE36+6fBuUu5AUhlidXE/1H7FOb2eyB2fNqCdDiQt2st3JfA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=GjpICPN8E9xzsT4L+us9nUqZz3v3xAINgtEWU2fnu9c=; b=Ozi1F2MqvTy43ZcN2wSLFsZ043XNSBrPnGuK92h/NoAoY4XFwL5YcQWQQMEMtZlIEvzndqouYKWaKLddbwp+sWvqDhAz1GyFhNfOTi2cDLFuGDSVBZXuI01j0pRJg3rwh+F5mVwnfAyghwJNUTtaTIaD8LQG4JKEG/Y3SGG1yLU= Received: from DB7PR08MB3097.eurprd08.prod.outlook.com (2603:10a6:5:1d::27) by DBAPR08MB5624.eurprd08.prod.outlook.com (2603:10a6:10:1a8::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3589.21; Mon, 23 Nov 2020 13:42:46 +0000 Received: from DB7PR08MB3097.eurprd08.prod.outlook.com ([fe80::315c:f6c3:2600:bd39]) by DB7PR08MB3097.eurprd08.prod.outlook.com ([fe80::315c:f6c3:2600:bd39%6]) with mapi id 15.20.3589.030; Mon, 23 Nov 2020 13:42:46 +0000 From: "Sami Mujawar" To: Sughosh Ganu , "devel@edk2.groups.io" CC: Ard Biesheuvel , Jiewen Yao , Achin Gupta , nd Subject: Re: [PATCH v1 10/12] ArmPkg/StandaloneMmMmuLib: Add option to use FF-A calls to set memory region's permissions Thread-Topic: [PATCH v1 10/12] ArmPkg/StandaloneMmMmuLib: Add option to use FF-A calls to set memory region's permissions Thread-Index: AQHWp54bVrXPhwiiLUeLwbKacary6qnBjPTg Date: Mon, 23 Nov 2020 13:42:46 +0000 Message-ID: References: <20201021113233.25548-1-sughosh.ganu@linaro.org> <20201021113233.25548-11-sughosh.ganu@linaro.org> In-Reply-To: <20201021113233.25548-11-sughosh.ganu@linaro.org> Accept-Language: en-GB, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 4973730B851BEC47BCB79FDFE2617023.0 x-checkrecipientchecked: true Authentication-Results-Original: linaro.org; dkim=none (message not signed) header.d=none;linaro.org; dmarc=none action=none header.from=arm.com; x-originating-ip: [2a00:23c6:548a:4800:e1e2:5e02:5cb9:6f61] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: dc02c919-d45b-4319-d195-08d88fb5ae3c x-ms-traffictypediagnostic: DBAPR08MB5624:|AM9PR08MB6161: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:3513;OLM:3513; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: EMKF3sDvTrw+QEIihEuizFhdemsS7AFJq58a55ZuJKWbtjT4V7WZijgWFc6ElFudy9Vb0Ml9lR6GuOf+SVsXyVHB5Ta5VPyyUYPKNz9TtKY2e1bV2ekgYUrDshqHX7q06Z0Eht2ynD9QJHq7DaAsZ6ybwfG6JJg5cP+sLX5n4cHYetdGAdhNGWHxL5oMrDfSoABW3tJamG20BAti7bGVKvgnWrP7O1SKRMyXRrK9QyEb2aE39FRjZcmv/9GXo3eMBFTIEZCEQTAGxt0crWuJv02xTraycR++HCnTVb9a2N0VSeVjKBkLx+by/AIxmU4LfvCMBaKLUGzlOwlH5cYhrA== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR08MB3097.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(6029001)(4636009)(136003)(366004)(376002)(346002)(39860400002)(396003)(66946007)(6506007)(53546011)(52536014)(19627235002)(9686003)(83380400001)(5660300002)(33656002)(86362001)(71200400001)(4326008)(2906002)(7696005)(55016002)(66476007)(8936002)(478600001)(66556008)(316002)(54906003)(8676002)(64756008)(66446008)(186003)(110136005)(76116006);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?sPsHPTRM7+TpBoqv848SzkdpJReoz8dHVG5oBZbLCYYOPteSqGv6WMy2G405?= =?us-ascii?Q?i/wb6o9TAtZalLFCPrnpvYtcGzr/tynvrugQ37motIfvpEKq8i/z8k7ZIPVc?= =?us-ascii?Q?4Hakb/EGFU+btf0rGEOGkEU8NJ3IVye26WDOVfbIGYKSXsh5fkq30v0xWkFk?= =?us-ascii?Q?8q7DsRXTys1OVwtd3UPrC6VbV70gJ/kMlDzvO+kMYBoFDRfsx9vYaxkEDBdb?= =?us-ascii?Q?cxwpS7324/6xfJQZbu+UuLBa5e00EA6RAPtXFK01ebQJWLoovO3PnPxT0tL4?= =?us-ascii?Q?hnkEWrr1pAAbnjIUytNbXpHj7kWFJslhNg+rWwb59/MCn2GxH8dddm1jVUcz?= =?us-ascii?Q?dxiPlNCa2I1Xpsbie+gReaMiouOdK5sadCF/amzh5lUSw4OhaJHe3ABcm3Lb?= =?us-ascii?Q?pSb+XHf9N5zvJWEp9tKYmUHEiqEZYPDrU8YtU3RkVsngAI9yTMT9ty4iL9kW?= =?us-ascii?Q?E0C6gBZ15AZOL4SnlJaPuBR58OE1ZPFq6izrgRyKtTxuV7UKDiAlDB5A3m83?= =?us-ascii?Q?hOcPmW25l+3+zCEKRg7BvpCmh7ZrRTuk1S/qz7mW7sTMTcnAtWvz8J1+r81t?= =?us-ascii?Q?5r7VhrqeZEK8jJP/WN+sUmZPsyC+oB8YiC91IKZGjQXqHmkDcacMaWEQ+k0W?= =?us-ascii?Q?Z5yM4jNRTmOyP3LG4ZSPL/6E5NLc7Xkk7ivYFHfzIpxh2QHmM6V1RlZ2up6d?= =?us-ascii?Q?mM722f0Y2XmEOiqsJmVm8e+j+ev/ygwkLdafluhyRfR5vQlvj2DHLGKIiNOw?= =?us-ascii?Q?pd39abVO0J4CNdiaSkJpGPxomm6mpNs5NGYgp+VAFIjD5w9QgLc7rcRglAv1?= =?us-ascii?Q?1lFSzYeQzVQIiYMEAOMpfD4KTqNbTtUj0wMQn4o8aB0TMsXOxrUp4Ul8rxCx?= =?us-ascii?Q?KSW0Y8cnchvx3IOho0YELGG2JCQY7va2/SCphktrkcInYNrWDi+QkO0vyaw4?= =?us-ascii?Q?vxx9gJYI2wR0Ddw2E4anVw=3D=3D?= MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5624 Original-Authentication-Results: linaro.org; dkim=none (message not signed) header.d=none;linaro.org; dmarc=none action=none header.from=arm.com; Return-Path: Sami.Mujawar@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT022.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 2fdf14df-1fb9-4b4a-57cf-08d88fb5a929 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UYUqeK/2Rf6bRdcJhG/OMT3Z9dcpvQ6c7/bMzmiCSEoiVUZ8swWcsH/URq6jEi/H2iFwSziOhnWZTQGwbVFB3W2XpWHzyCkQnownoQ1mm4ou2u9kF+zuM5o9zDHiinIwJ6LF6spNpY34zHdgN9Ptx7WTewCsYlbDIXnDCSjgGTJLRf37z9Yaj/cOF53V9I/GofQ8VubB8oG7lg2p2EsG4TnnnLbYt08O8H/rfUZWU8iiBN5ZUVoAicFoeWgh7C+Ppnz9aYi+v2YhTRfpzWrF05msINE5XIm0iOebLr51d6WbfeX3K2vpNaIIXLLz5nMZMp1ha0Zs9zKmXgXM4EQfY//ewrteK/SpTE3KoCEgGy36SU1MCN8272qVJ9f2RmBH6zzqbHgot5Qydh2rcoZFZQ== X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(6029001)(4636009)(346002)(136003)(376002)(39860400002)(396003)(46966005)(33656002)(5660300002)(70586007)(356005)(9686003)(70206006)(8936002)(54906003)(186003)(110136005)(81166007)(336012)(2906002)(82310400003)(26005)(316002)(47076004)(53546011)(52536014)(6506007)(86362001)(19627235002)(4326008)(55016002)(8676002)(82740400003)(83380400001)(7696005)(478600001);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2020 13:42:54.7929 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: dc02c919-d45b-4319-d195-08d88fb5ae3c X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT022.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6161 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Sughosh, Please find my response inline marked [SAMI]. Regards, Sami Mujawar -----Original Message----- From: Sughosh Ganu =20 Sent: 21 October 2020 12:33 PM To: devel@edk2.groups.io Cc: Ard Biesheuvel ; Sami Mujawar ; Jiewen Yao ; Achin Gupta Subject: [PATCH v1 10/12] ArmPkg/StandaloneMmMmuLib: Add option to use FF-A= calls to set memory region's permissions From: Achin Gupta Allow setting memory region's permissions using either of the Firmware Framework(FF-A) ABI transport or through the earlier used SVC calls. Signed-off-by: Achin Gupta Co-developed-by: Sughosh Ganu --- ArmPkg/Library/StandaloneMmMmuLib/AArch64/ArmMmuStandaloneMmLib.c | 24 +++= +++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/ArmPkg/Library/StandaloneMmMmuLib/AArch64/ArmMmuStandaloneMmLi= b.c b/ArmPkg/Library/StandaloneMmMmuLib/AArch64/ArmMmuStandaloneMmLib.c index ab13602556..fef5eb4d22 100644 --- a/ArmPkg/Library/StandaloneMmMmuLib/AArch64/ArmMmuStandaloneMmLib.c +++ b/ArmPkg/Library/StandaloneMmMmuLib/AArch64/ArmMmuStandaloneMmLib.c @@ -63,17 +63,31 @@ RequestMemoryPermissionChange ( IN UINTN Permissions ) { + BOOLEAN FfaEnabled; EFI_STATUS Status; ARM_SVC_ARGS ChangeMemoryPermissionsSvcArgs =3D {0}; =20 - ChangeMemoryPermissionsSvcArgs.Arg0 =3D ARM_SVC_ID_SP_SET_MEM_ATTRIBUTES= _AARCH64; - ChangeMemoryPermissionsSvcArgs.Arg1 =3D BaseAddress; - ChangeMemoryPermissionsSvcArgs.Arg2 =3D EFI_SIZE_TO_PAGES(Length); - ChangeMemoryPermissionsSvcArgs.Arg3 =3D Permissions; + FfaEnabled =3D FeaturePcdGet (PcdFfaEnable); + + if (FfaEnabled) { + ChangeMemoryPermissionsSvcArgs.Arg0 =3D ARM_SVC_ID_FFA_MSG_SEND_DIRECT= _REQ_AARCH64; + ChangeMemoryPermissionsSvcArgs.Arg1 =3D 0x3; + ChangeMemoryPermissionsSvcArgs.Arg2 =3D 0; + ChangeMemoryPermissionsSvcArgs.Arg3 =3D ARM_SVC_ID_SP_SET_MEM_ATTRIBUT= ES_AARCH64; + ChangeMemoryPermissionsSvcArgs.Arg4 =3D BaseAddress; + ChangeMemoryPermissionsSvcArgs.Arg5 =3D EFI_SIZE_TO_PAGES(Length); [SAMI] Add a space between EFI_SIZE_TO_PAGES and starting parenthesis. [/S= AMI] + ChangeMemoryPermissionsSvcArgs.Arg6 =3D Permissions; + } else { + ChangeMemoryPermissionsSvcArgs.Arg0 =3D ARM_SVC_ID_SP_SET_MEM_ATTRIBUT= ES_AARCH64; + ChangeMemoryPermissionsSvcArgs.Arg1 =3D BaseAddress; + ChangeMemoryPermissionsSvcArgs.Arg2 =3D EFI_SIZE_TO_PAGES(Length); [SAMI] Add a space between EFI_SIZE_TO_PAGES and starting parenthesis. [/S= AMI] + ChangeMemoryPermissionsSvcArgs.Arg3 =3D Permissions; + } =20 ArmCallSvc (&ChangeMemoryPermissionsSvcArgs); =20 - Status =3D ChangeMemoryPermissionsSvcArgs.Arg0; + Status =3D FfaEnabled ? + ChangeMemoryPermissionsSvcArgs.Arg3 : ChangeMemoryPermissionsSvcArgs.A= rg0; [SAMI] In case of FFA, Arg0 may also contain an error code, right? See FFA = spec, section 10.2. [/SAMI] =20 switch (Status) { case ARM_SVC_SPM_RET_SUCCESS: --=20 2.17.1