From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 2D2F6D811BC for ; Fri, 19 Jan 2024 09:33:35 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=52kfzQPqViUSg4k+C+hmpYueal+qnbJG4G3m9N7VNFE=; c=relaxed/simple; d=groups.io; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:Received-SPF:ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:Received-SPF:From:To:CC:Subject:Date:Message-ID:In-Reply-To:References:MIME-Version:NoDisclaimer:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding:Content-Type; s=20140610; t=1705656814; v=1; b=kbT2hr5YnplEATnr3tnpz20hcjdwGT3bSeQIANkk99DWwtI+c5+r7LnDjZ7cx2J9jedlTAgl aDA+WVdGkVGagxaU6PzwOsdCsLWH6K/bSoCJ02RXj532QGNFos3Y0kfRpovdWfB9lJkWsuckLk7 cG+TpoCpmLH/+UPxuxMcB8pY= X-Received: by 127.0.0.2 with SMTP id EdVuYY7687511xBARda3LvSl; Fri, 19 Jan 2024 01:33:34 -0800 X-Received: from EUR05-AM6-obe.outbound.protection.outlook.com (EUR05-AM6-obe.outbound.protection.outlook.com [40.107.22.55]) by mx.groups.io with SMTP id smtpd.web10.18430.1705656813940784712 for ; Fri, 19 Jan 2024 01:33:34 -0800 ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=nyghSBJZLjRXIkL8J+Q3rUTlZlHQQHkp9DAUjsi/Kckg3Lxh5BTaxUDwxETd0aPyt+ds5FuGKym6YnqcThgoIZiW/uGO/7NdOiC7mi1o2VBAHQFvmnSM/1Yvn3SEWkG6ApBRprWWHCzoeyLxsvQvN16Zo+L90knL8NIeP+0H8GN7Dsv+1ACvSOynd5I9Insyah/DZ4+BnG9AkdDywZsgpsEzUCX3ylfa+oHHtAfZh6t1LPRcHuEVzLAenVGBv4h/wzF24kWPlclFwR/VtlZmRwWbvRsw7gZN+KkIrxXo5aNw4KJSUQzpBw3Qr+oyxS6R+eczfUivmuyFkw2DTpL1hw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=qbGEBhZyf2vu4dHvdFCMyh3OkitJ/lKKvOsqa01Wvt4=; b=Pvv0OV09+7BuU2ATvXcs7aRMngD7tt9zsC4RkFB49g28ouJwc6NXCNANKHaL/lG/tg9VLalq0PLT1NKHJXOt0xoMjdQuiJb5j7bqWXqQgzEJTnvkEv0zSK8J+xkPG7XGY82cvbhc83IdEUhp5D1QBVwFR3bDTiw/4RhtKlBFaw2vblI7pRZ5c5ByuSOG7HWSXwReyI7Wo6sg2FH7he4UAu+FpJHaXJggxGtJ7n6yERbH6eKVvE5jOmgIESP13/cfs8sfrVSBV8POsUWxX7FrhTNRV7Ae18770AqHp6ef6Kf6SOjjNHkxSL1CVuxzA5y5G8snZkylDonKVLFPgMoVBg== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dmarc=[1,1,header.from=arm.com]) X-Received: from DB7PR05CA0047.eurprd05.prod.outlook.com (2603:10a6:10:2e::24) by DB9PR08MB7676.eurprd08.prod.outlook.com (2603:10a6:10:37f::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7202.24; Fri, 19 Jan 2024 09:33:29 +0000 X-Received: from DB1PEPF0003922D.eurprd03.prod.outlook.com (2603:10a6:10:2e:cafe::1d) by DB7PR05CA0047.outlook.office365.com (2603:10a6:10:2e::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7202.24 via Frontend Transport; Fri, 19 Jan 2024 09:33:29 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;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; pr=C X-Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB1PEPF0003922D.mail.protection.outlook.com (10.167.8.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7202.16 via Frontend Transport; Fri, 19 Jan 2024 09:33:29 +0000 X-Received: ("Tessian outbound a064b9944658:v228"); Fri, 19 Jan 2024 09:33:29 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 7f664d451c76b422 X-CR-MTA-TID: 64aa7808 X-Received: from c8fb62a1f2cf.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id E15E283E-86A2-433A-A478-40F95A9BBA32.1; Fri, 19 Jan 2024 09:33:23 +0000 X-Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c8fb62a1f2cf.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 19 Jan 2024 09:33:23 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BUhGI2NVqqzj3q8xx9+TQ/3Bppb91qS/nfXYGm/LLtYqg3psBKcDE58bZmsk7RSv6pvQTH1BP1ZSomyO6ot7ziGiyRP6HbpR8J0dVOPA0ITtFjA2z4a7R5keGut+qHE67tuyHcH7psfJdlfzXYp7yhy/e0vhoz9s6d8pU+vDMKyQ9n8AxQzypLevwoXRoJWu96Flvv8bP3DCpFOPtvV8+3v51pudZMgRpdkKuMc4jtlUWJ6fYHuM4ReFYyG9wgHXx7nUqrxn9m/ZP6JNwRfXSFhfkVHs6UCDW6qqQUqC2N6kI/c4xr7Ad3/kpqEPqfMWlqsX2TKkDYJW2rw2vtih9g== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=qbGEBhZyf2vu4dHvdFCMyh3OkitJ/lKKvOsqa01Wvt4=; b=nDloz1qW1Mu2PR5EgbH3s6L2LUtuU4+2kR3BYLsa0mjn947YIBTooYdr1SRrRzaDBxbqqwt+tAhCGMS4nbIYGfXNkeEbkr5najePu1SUQKaP1F0nSWyEG0wIUQqAW++LH6sy+vui10V8D3VAamQ2NK2J8BmZFcmcLN9ZEbdh9hEa3i9rQEqcxq38mqvVm/X3Xi2c9HlXoUO7wKLoaqCcSHtdC1h4M9oHBbBnaGbCo96UcgiQcqvh5vjcFpDhlXgFCdxnwETJL/uLfYKjXr8SiNn74D2/N7qp6N5JSCdpXsisALCh7zed3tnmELrLoUAhenEClcPq0qiLobqpOaXDrA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none (0) X-Received: from DU2PR04CA0038.eurprd04.prod.outlook.com (2603:10a6:10:234::13) by DBBPR08MB5914.eurprd08.prod.outlook.com (2603:10a6:10:200::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7202.24; Fri, 19 Jan 2024 09:33:17 +0000 X-Received: from DU6PEPF0000A7E2.eurprd02.prod.outlook.com (2603:10a6:10:234:cafe::2a) by DU2PR04CA0038.outlook.office365.com (2603:10a6:10:234::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7202.24 via Frontend Transport; Fri, 19 Jan 2024 09:33:16 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; pr=C X-Received: from nebula.arm.com (40.67.248.234) by DU6PEPF0000A7E2.mail.protection.outlook.com (10.167.8.46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7202.16 via Frontend Transport; Fri, 19 Jan 2024 09:33:16 +0000 X-Received: from AZ-NEU-EX04.Arm.com (10.251.24.32) by AZ-NEU-EX03.Arm.com (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.32; Fri, 19 Jan 2024 09:33:09 +0000 X-Received: from e129823.cambridge.arm.com (10.1.197.6) by mail.arm.com (10.251.24.32) with Microsoft SMTP Server id 15.1.2507.32 via Frontend Transport; Fri, 19 Jan 2024 09:33:08 +0000 From: "levi.yun" To: , , CC: , levi.yun Subject: [edk2-devel] [PATCH RESEND edk2-platforms v1 3/3] Platform/Arm: Add Standalone MM support for FVP Date: Fri, 19 Jan 2024 09:33:05 +0000 Message-ID: <20240119093305.2258464-4-yeoreum.yun@arm.com> In-Reply-To: <20240119093305.2258464-1-yeoreum.yun@arm.com> References: <20240119093305.2258464-1-yeoreum.yun@arm.com> MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-TrafficTypeDiagnostic: DU6PEPF0000A7E2:EE_|DBBPR08MB5914:EE_|DB1PEPF0003922D:EE_|DB9PR08MB7676:EE_ X-MS-Office365-Filtering-Correlation-Id: 3b3779ec-5b38-44df-34da-08dc18d1b1fc x-checkrecipientrouted: true NoDisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: fdHbL/3YcUd8S8YQ109duRpwu5VKXtpaBZQdJ5VrEaYZ6Tz5CqIQYMhpaGKZVgmg79Wn63adn5s0UsGc7Zz70iyrejtgk+cP6ixiPAZ2m8ZgecPkco4+CzHL5zMCjcKiT7Io62Pa4yClO97kVvifcN5PNywvOoFm+iF6RzKb/0SjOlMnS4dl2fOARfwN/O1OW96eQViTrbqVWyjPimoANfm0kFho+TDGmIMiozhSh8DEOHPd3JWq9S5SH0rZaS8S20VohSqO7/ralgLcUhoJ7v1HnugJpK6V+mpXK+bZupTFlUdHAN2qPEjSufNF3D6/PWgVqrakZcHcL9E0A7HLD6ghW1Jwt6W28rT7U6r29CITXT0razwss06UPQP3M2FaStDzdZRvirnXK6vykjG0TYTX9Lv2OJh8m0QWarzgSZyE3y0Xr5t4U7uj5XaW4GdTf5C0ME0tIMP7ZOhMgR198sQ/OzL/Crs2ndZdkiWa14eKd9iuW6nlYNvf9lknsPXA3waftMyUiZuOwB4cStqjFzBJgP/s/hxAxd/wmZqqmPXNHIjE4S103X5/AUOCN2vxD+85u0ID3GKLN6YZTso/xRBQIo6Yv4kmZxAvSXibX4XY05E5fkWQc2EmRnkVA4xg7weZTVY9KjJ5Ye+TFLnak6O6KPP+CltagG+iWaN5ukdqcUj1IW0d1VapV8OMSchJ+HMWoUhg6jUNbOe9NdZEFz97kKTe1LqbdZ4ncA44NRzKmG809uu9CrpDSoeQo4F3YpaRLFtp4EYuoctaTIt1nQ== X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230031)(4636009)(396003)(39860400002)(346002)(136003)(376002)(230922051799003)(451199024)(82310400011)(1800799012)(64100799003)(186009)(36840700001)(46966006)(40470700004)(83380400001)(2616005)(26005)(6666004)(1076003)(7696005)(426003)(86362001)(4326008)(54906003)(8936002)(8676002)(70206006)(19627235002)(478600001)(110136005)(70586007)(356005)(336012)(36860700001)(81166007)(82740400003)(316002)(47076005)(41300700001)(40460700003)(40480700001)(30864003)(2906002)(5660300002)(36756003)(36900700001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB5914 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB1PEPF0003922D.eurprd03.prod.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: c72f2d3e-b644-4923-4055-08dc18d1aa8e X-Microsoft-Antispam-Message-Info: sNcS9HQgOy+QxFoCh/wio5xh9u107JN0UBhufGnVzDUExYw1N1isr5rqRN6JcMKLEp2GxFejRMi6ANJ5g1Wq2yr4LJGGcn5k1Abm9hedWYIuxhm//RKJaUOzfd3j6/7FYpuhKxmxbMWFNJ8k0IqKkVTGREtNXh3okqtgw613I77LqCkYBwqJh0j24rSx9HE5FWfKV90ssx8Ab1Xt3dsT4n9/IyE8VqGp6cVhqL0Gbe37dvg/VEkuWUtHncaB7qo7xi+BOuGsupc7WzQIGK17yb0bIoYJN/jcCH/Su59DSxo265iMIr1h7wrlwnJ8uY6TJlcHqUKysuoNTEAWUgZomtbDxnPcj/DjExVunaon7O8rOPYKl+3sLfuGzC7BqhV2Bzoun0vUa8h6AuvyGe3VQGMhwSzU2r1pRkjSJn9e2+HpcHj3cx5zdiVQzJkZ6deYL2EkSTmxxcwWPsCNA1VyekeyCzLQKsQAzJPF/nhOF6s77yzqqhwwiRFgJrNHTLdGFKG56GxohDpUvgCNsuRGzEV4jcOTBSUzljChvrD688zqBUN4q5glwMWMBhr8PnV3rp89mNMJcbMJiLxdN1altu2exlktniovOLWd4+OzQEfGFtAAXpXZV+uP8fNsCsUZXkE3/H5k7HXVJIlUU4gI6VH/3lbuyK2Rn5xtnXUXAuQPOfYA15dueyzaCN95D6M8m1TcudTXSm3NQfdxI1/fGRcftR1OngZA4+M9N9F3Rj73vVv/ZJPrr+5b01+SD6G0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2024 09:33:29.3095 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3b3779ec-5b38-44df-34da-08dc18d1b1fc 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: DB1PEPF0003922D.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7676 Precedence: Bulk List-Subscribe: List-Help: 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,yeoreum.yun@arm.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: N3LCcR2gQ3cqPswO9e8AdzQnx7686176AA= Content-Transfer-Encoding: quoted-printable Content-Type: text/plain X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=kbT2hr5Y; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=arm.com (policy=none); arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}") Add Standalone MM support for FVP model. Signed-off-by: levi.yun --- Platform/ARM/VExpressPkg/PlatformStandaloneMm.dsc | 208 ++++++++++++++++++= ++ Platform/ARM/VExpressPkg/PlatformStandaloneMm.fdf | 106 ++++++++++ 2 files changed, 314 insertions(+) diff --git a/Platform/ARM/VExpressPkg/PlatformStandaloneMm.dsc b/Platform/A= RM/VExpressPkg/PlatformStandaloneMm.dsc new file mode 100644 index 0000000000000000000000000000000000000000..0e77b76cae698c5e0cba3ce3249= b88e4cffc98a0 --- /dev/null +++ b/Platform/ARM/VExpressPkg/PlatformStandaloneMm.dsc @@ -0,0 +1,208 @@ +## @file +# Standalone MM Platform. +# +# Copyright (c) 2024, Arm Limited. All rights reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +## + +##########################################################################= ###### +# +# Defines Section - statements that will be processed to create a Makefile= . +# +##########################################################################= ###### +[Defines] + PLATFORM_NAME =3D StandaloneMm + PLATFORM_GUID =3D 9A4BBA60-B4F9-47C7-9258-3BD77CAE9322 + PLATFORM_VERSION =3D 1.0 + DSC_SPECIFICATION =3D 0x0001001C +!ifdef $(EDK2_OUT_DIR) + OUTPUT_DIRECTORY =3D $(EDK2_OUT_DIR) +!else + OUTPUT_DIRECTORY =3D Build/ArmVExpress-FVP-AArch64 +!endif + SUPPORTED_ARCHITECTURES =3D AARCH64|ARM + BUILD_TARGETS =3D DEBUG|RELEASE + SKUID_IDENTIFIER =3D DEFAULT + FLASH_DEFINITION =3D Platform/ARM/VExpressPkg/PlatformStan= daloneMm.fdf + DEFINE DEBUG_MESSAGE =3D TRUE + + # To allow the use of ueif secure variable feature, set this to TRUE. + DEFINE ENABLE_UEFI_SECURE_VARIABLE =3D FALSE + + # LzmaF86 + DEFINE COMPRESSION_TOOL_GUID =3D D42AE6BD-1352-4bfb-909A-CA72A6EAE889 + +##########################################################################= ###### +# +# Library Class section - list of all Library Classes needed by this Platf= orm. +# +##########################################################################= ###### + +!include MdePkg/MdeLibs.dsc.inc + +[LibraryClasses] + # + # Basic + # + BaseLib|MdePkg/Library/BaseLib/BaseLib.inf + BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf + + CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMain= tenanceLib.inf + DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.in= f + DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseD= ebugPrintErrorLevelLib.inf + ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib= /PrePiExtractGuidedSectionLib.inf + FvLib|StandaloneMmPkg/Library/FvLib/FvLib.inf + HobLib|StandaloneMmPkg/Library/StandaloneMmHobLib/StandaloneMmHobLib.inf + IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf + MemLib|StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.inf + MemoryAllocationLib|StandaloneMmPkg/Library/StandaloneMmCoreMemoryAlloca= tionLib/StandaloneMmCoreMemoryAllocationLib.inf + MmServicesTableLib|MdePkg/Library/StandaloneMmServicesTableLib/Standalon= eMmServicesTableLib.inf + PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf + PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeC= offExtraActionLibNull.inf + PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf + PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf + ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseRepor= tStatusCodeLibNull.inf + StandaloneMmCoreEntryPoint|StandaloneMmPkg/Library/StandaloneMmCoreEntry= Point/StandaloneMmCoreEntryPoint.inf + StandaloneMmDriverEntryPoint|MdePkg/Library/StandaloneMmDriverEntryPoint= /StandaloneMmDriverEntryPoint.inf + VariableMmDependency|StandaloneMmPkg/Library/VariableMmDependency/Variab= leMmDependency.inf + + # ARM PL011 UART Driver + PL011UartClockLib|ArmPlatformPkg/Library/PL011UartClockLib/PL011UartCloc= kLib.inf + PL011UartLib|ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.inf + SerialPortLib|ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortL= ib.inf + +[LibraryClasses.AARCH64, LibraryClasses.ARM] + ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf + StandaloneMmMmuLib|ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmL= ib.inf + ArmSvcLib|ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf + CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMainte= nanceLib.inf + PeCoffExtraActionLib|StandaloneMmPkg/Library/StandaloneMmPeCoffExtraActi= onLib/StandaloneMmPeCoffExtraActionLib.inf + + NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf + NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf + +[LibraryClasses.common.MM_CORE_STANDALONE] + HobLib|StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCoreHo= bLib.inf + +[LibraryClasses.common.MM_STANDALONE] + MemoryAllocationLib|StandaloneMmPkg/Library/StandaloneMmMemoryAllocation= Lib/StandaloneMmMemoryAllocationLib.inf + + BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf + IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf + OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf + RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf + PlatformSecureLib|SecurityPkg/Library/PlatformSecureLibNull/PlatformSecu= reLibNull.inf + SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchroniza= tionLib.inf + TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplat= e.inf + SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf + + # STMM for Variable runtime service. +!if $(ENABLE_UEFI_SECURE_VARIABLE) =3D=3D TRUE + NorFlashPlatformLib|Platform/ARM/VExpressPkg/Library/NorFlashArmVExpress= Lib/NorFlashStMmLib.inf + VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf + VariableFlashInfoLib|MdeModulePkg/Library/BaseVariableFlashInfoLib/BaseV= ariableFlashInfoLib.inf + AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf +!endif + +##########################################################################= ###### +# +# Pcd Section - list of all EDK II PCD Entries defined by this Platform +# +##########################################################################= ###### +[PcdsFixedAtBuild] + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000008F + gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xff + gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF + + ## PL011 - Serial Terminal. + gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x1c090000 + gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200 + gEfiMdePkgTokenSpaceGuid.PcdMaximumGuidedExtractHandler|0x2 + + gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000 + gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x2800 + + # + # NV Storage PCDs. + # Use its base last 256KB block for NOR1 flash. + # NOR1 base is 0x0C000000 for and its size 64MB. + # Therefore, 0x0C000000 + 0x04000000 (64MB) - 0x40000 (256KB) =3D 0x0FFC= 0000. + # +!if $(ENABLE_UEFI_SECURE_VARIABLE) =3D=3D TRUE + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0x0FFC0000 + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize|0x00010000 + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0x0FFD000= 0 + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0x0001000= 0 + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0x0FFE0000 + gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize|0x00010000 +!endif + +##########################################################################= ######################### +# +# Components Section - list of the modules and components that will be pro= cessed by compilation +# tools and the EDK II tools to generate PE32/PE32+/C= off image files. +# +# Note: The EDK II DSC file is not used to specify how compiled binary ima= ges get placed +# into firmware volume images. This section is just a list of module= s to compile from +# source into UEFI-compliant binaries. +# It is the FDF file that contains information on combining binary f= iles into firmware +# volume images, whose concept is beyond UEFI and is described in PI= specification. +# Binary modules do not need to be listed in this section, as they s= hould be +# specified in the FDF file. For example: Shell binary (Shell_Full.e= fi), FAT binary (Fat.efi), +# Logo (Logo.bmp), and etc. +# There may also be modules listed in this section that are not requ= ired in the FDF file, +# When a module listed here is excluded from FDF file, then UEFI-com= pliant binary will be +# generated for it, but the binary will not be put into any firmware= volume. +# +##########################################################################= ######################### +[Components.common] + # + # MM Core + # + StandaloneMmPkg/Core/StandaloneMmCore.inf + StandaloneMmPkg/Library/FvLib/FvLib.inf + StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntry= Point.inf + StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCoreHobLib.in= f + StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMm= CoreMemoryAllocationLib.inf + StandaloneMmPkg/Library/StandaloneMmHobLib/StandaloneMmHobLib.inf + StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.inf + StandaloneMmPkg/Library/StandaloneMmMemoryAllocationLib/StandaloneMmMemo= ryAllocationLib.inf + StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.inf + +[Components.AARCH64, Components.ARM] + StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.inf + StandaloneMmPkg/Library/StandaloneMmPeCoffExtraActionLib/StandaloneMmPeC= offExtraActionLib.inf + +!if $(ENABLE_UEFI_SECURE_VARIABLE) =3D=3D TRUE + Platform/ARM/Drivers/NorFlashDxe/NorFlashStandaloneMm.inf + MdeModulePkg/Universal/Variable/RuntimeDxe/VariableStandaloneMm.inf { + + DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf + NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf + NULL|MdeModulePkg/Library/VarCheckPolicyLib/VarCheckPolicyLibStandal= oneMm.inf + BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf + VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePol= icyLib.inf + VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib= /VariablePolicyHelperLib.inf + } + MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteStandalon= eMm.inf +!endif + +##########################################################################= ######################### +# +# BuildOptions Section - Define the module specific tool chain flags that = should be used as +# the default flags for a module. These flags are a= ppended to any +# standard flags that are defined by the build proc= ess. They can be +# applied for any modules or only those modules wit= h the specific +# module style (EDK or EDKII) specified in [Compone= nts] section. +# +##########################################################################= ######################### +[BuildOptions.AARCH64] + GCC:*_*_*_DLINK_FLAGS =3D -z common-page-size=3D0x1000 -march=3Darmv8-a+= nofp -mstrict-align + GCC:*_*_AARCH64_PLATFORM_FLAGS =3D=3D -I$(WORKSPACE)/Platform/ARM/VExpre= ssPkg/Include/Platform/RTSM + GCC:*_*_*_CC_FLAGS =3D -mstrict-align + +[BuildOptions.ARM] + GCC:*_*_*_DLINK_FLAGS =3D -z common-page-size=3D0x1000 -march=3Darmv7-a + GCC:*_*_*_CC_FLAGS =3D -fno-stack-protector diff --git a/Platform/ARM/VExpressPkg/PlatformStandaloneMm.fdf b/Platform/A= RM/VExpressPkg/PlatformStandaloneMm.fdf new file mode 100644 index 0000000000000000000000000000000000000000..f4715433d107d38fd57205d5466= 07e923d0aff9b --- /dev/null +++ b/Platform/ARM/VExpressPkg/PlatformStandaloneMm.fdf @@ -0,0 +1,106 @@ +# +# Copyright (c) 2024, Arm Limited. All rights reserved. +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# + +##########################################################################= ###### +# +# FD Section +# The [FD] Section is made up of the definition statements and a +# description of what goes into the Flash Device Image. Each FD section +# defines one flash "device" image. A flash device image may be one of +# the following: Removable media bootable image (like a boot floppy +# image,) an Option ROM image (that would be "flashed" into an add-in +# card,) a System "Flash" image (that would be burned into a system's +# flash) or an Update ("Capsule") image that will be used to update and +# existing system flash. +# +##########################################################################= ###### + +[FD.BL32_AP_MM] +# See macro definition BL32_BASE in TF-A code at include/plat/arm/common/a= rm_def.h +BaseAddress =3D 0xff200000|gArmTokenSpaceGuid.PcdFdBaseAddress + +# Maximum size of BL32 Image in TF-A (see include/plat/arm/common/arm_spm.= def.h) +Size =3D 0x00300000|gArmTokenSpaceGuid.PcdFdSize + +ErasePolarity =3D 0 +BlockSize =3D 0x00001000 +NumBlocks =3D 0x300 + +# +# Limit the size of the binary to 1MB. +# If required this can be increased up to PcdFdSize. +# +0x00000000|0x00100000 +gArmTokenSpaceGuid.PcdFvBaseAddress|gArmTokenSpaceGuid.PcdFvSize +FV =3D FVMAIN_COMPACT + +[FV.FVMAIN_COMPACT] +FvAlignment =3D 16 +ERASE_POLARITY =3D 1 +MEMORY_MAPPED =3D TRUE +STICKY_WRITE =3D TRUE +LOCK_CAP =3D TRUE +LOCK_STATUS =3D TRUE +WRITE_DISABLED_CAP =3D TRUE +WRITE_ENABLED_CAP =3D TRUE +WRITE_STATUS =3D TRUE +WRITE_LOCK_CAP =3D TRUE +WRITE_LOCK_STATUS =3D TRUE +READ_DISABLED_CAP =3D TRUE +READ_ENABLED_CAP =3D TRUE +READ_STATUS =3D TRUE +READ_LOCK_CAP =3D TRUE +READ_LOCK_STATUS =3D TRUE + + INF StandaloneMmPkg/Core/StandaloneMmCore.inf + INF StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.inf + +!if $(ENABLE_UEFI_SECURE_VARIABLE) =3D=3D TRUE + INF Platform/ARM/Drivers/NorFlashDxe/NorFlashStandaloneMm.inf + INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteStand= aloneMm.inf + INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableStandaloneMm.inf +!endif + +##########################################################################= ###### +# +# Rules are use with the [FV] section's module INF type to define +# how an FFS file is created for a given INF file. The following Rule are = the default +# rules for the different module type. User can add the customized rules t= o define the +# content of the FFS file. +# +##########################################################################= ###### + + +##########################################################################= ## +# Example of a DXE_DRIVER FFS file with a Checksum encapsulation section = # +##########################################################################= ## +# +#[Rule.Common.DXE_DRIVER] +# FILE DRIVER =3D $(NAMED_GUID) { +# DXE_DEPEX DXE_DEPEX Optional $(INF_OUTPUT)/$(MODULE_= NAME).depex +# COMPRESS PI_STD { +# GUIDED { +# PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi +# UI STRING=3D"$(MODULE_NAME)" Optional +# VERSION STRING=3D"$(INF_VERSION)" Optional BUILD_NUM=3D$(BUILD_N= UMBER) +# } +# } +# } +# +##########################################################################= ## + +[Rule.Common.MM_CORE_STANDALONE] + FILE SEC =3D $(NAMED_GUID) RELOCS_STRIPPED FIXED { + PE32 PE32 Align =3D Auto $(INF_OUTPUT)/$(MODULE_NAME).efi + } + +[Rule.Common.MM_STANDALONE] + FILE MM_STANDALONE =3D $(NAMED_GUID) { + SMM_DEPEX SMM_DEPEX Optional $(INF_OUTPUT)/$(MODULE_NAME).depex + PE32 PE32 $(INF_OUTPUT)/$(MODULE_NAME).efi + UI STRING=3D"$(MODULE_NAME)" Optional + VERSION STRING=3D"$(INF_VERSION)" Optional BUILD_NUM=3D$(BUILD_NUMBE= R) + } -- Guid("CE165669-3EF3-493F-B85D-6190EE5B9759") IMPORTANT NOTICE: The contents of this email and any attachments are confid= ential and may also be privileged. If you are not the intended recipient, p= lease notify the sender immediately and do not disclose the contents to any= other person, use it for any purpose, or store or copy the information in = any medium. Thank you. -=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 (#114035): https://edk2.groups.io/g/devel/message/114035 Mute This Topic: https://groups.io/mt/103827101/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-