From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR04-VI1-obe.outbound.protection.outlook.com (EUR04-VI1-obe.outbound.protection.outlook.com [40.107.8.51]) by mx.groups.io with SMTP id smtpd.web12.9193.1618580755757029888 for ; Fri, 16 Apr 2021 06:45:57 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=2S9G5uZf; spf=pass (domain: arm.com, ip: 40.107.8.51, mailfrom: sunny.wang@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=I/a5dGm/S4xsRpglqU0bEQ5PCtgmMG3OcCUIu/ePU3w=; b=2S9G5uZfTbdcswQm6sI47nLKM5t/1aLv+i8HJTI7pVcnQFNvlsxg6Z4SrD1XsocR/ADz0LGZvbHZFLFD3kbDwE/UHa0oGvPm8ysHjpgj1PWrpfi929zjVUwRneVo1xJfEVj2E14Bjocwz9YO5UEi9F1e7BtmQ7/p9DuWsrY+v8E= Received: from AM5PR0602CA0016.eurprd06.prod.outlook.com (2603:10a6:203:a3::26) by DB9PR08MB7211.eurprd08.prod.outlook.com (2603:10a6:10:2ce::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.21; Fri, 16 Apr 2021 13:45:52 +0000 Received: from AM5EUR03FT059.eop-EUR03.prod.protection.outlook.com (2603:10a6:203:a3:cafe::e5) by AM5PR0602CA0016.outlook.office365.com (2603:10a6:203:a3::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.16 via Frontend Transport; Fri, 16 Apr 2021 13:45:52 +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 AM5EUR03FT059.mail.protection.outlook.com (10.152.17.193) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.16 via Frontend Transport; Fri, 16 Apr 2021 13:45:51 +0000 Received: ("Tessian outbound b610e7b4d771:v90"); Fri, 16 Apr 2021 13:45:51 +0000 X-CR-MTA-TID: 64aa7808 Received: from 215e868cec32.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id EC23F13C-4CFE-450E-8CE8-679ED66E0BB9.1; Fri, 16 Apr 2021 13:45:45 +0000 Received: from EUR03-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 215e868cec32.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Fri, 16 Apr 2021 13:45:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FlSWQcPgSxzIMi9q+cqUb8pxXecniqVlN9tNoEu4gdtc76+T7K9MFFfLG3UjGgvpUmQdIZ3qp7auTn+ldWmeiXA6IpPqnlOJAskbvZhJT5Fwjo1DedM5kL5HCddt861tZ2FyJvHUFDODc460FahJoTQUxskijzcB7xGRAIzJJEF9s6cBwq2Vs7CoVXwE9PHQlOnvfn3ok4x9sZC3tK5NabWxYefspBMYoIZz98TvLWrgjjfj6cMprEb2aVhagujpwLNjZAzKFcCWXjw3dBvJXIaN1Hioj2pOFIjtYkrPC/BucqN1pTM+GuFhG2jiacQan4geTlof934YgGiW3GZYoA== 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=I/a5dGm/S4xsRpglqU0bEQ5PCtgmMG3OcCUIu/ePU3w=; b=UolkZG5hRFJqFFAhgBWk46l0iIR18IeUjvPITRswM2CK9dkAAKbjCTmko74EI2zo7jNiz4clYu442bRvIC2nC8PzcGca32/K0WZU0zubdw/oY7GkoIxom6ZAAfQmPcIvRF+weaQvUytEsoXP09vSoeeZskRsGDCs/YTM7YDY7O4fWmI1F407f/jDG23Q5Rh3prO/WiMRi2pzYrwh+AiAxULG/GDGeXgx0OnFpQNsZMGRSmYzp3Mh+2fd6jt392oxQWDrVuly/7tWrOwrgJK19nK6pFu95ktfzvgRDJIECibptZlbWnt1eoLZfbSqHodkmZlKDbBMkgWVOUG0rp45Jw== 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=I/a5dGm/S4xsRpglqU0bEQ5PCtgmMG3OcCUIu/ePU3w=; b=2S9G5uZfTbdcswQm6sI47nLKM5t/1aLv+i8HJTI7pVcnQFNvlsxg6Z4SrD1XsocR/ADz0LGZvbHZFLFD3kbDwE/UHa0oGvPm8ysHjpgj1PWrpfi929zjVUwRneVo1xJfEVj2E14Bjocwz9YO5UEi9F1e7BtmQ7/p9DuWsrY+v8E= Received: from DB8PR08MB3993.eurprd08.prod.outlook.com (2603:10a6:10:ad::26) by DBBPR08MB4539.eurprd08.prod.outlook.com (2603:10a6:10:cf::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.21; Fri, 16 Apr 2021 13:45:42 +0000 Received: from DB8PR08MB3993.eurprd08.prod.outlook.com ([fe80::89f9:4e97:546d:2b97]) by DB8PR08MB3993.eurprd08.prod.outlook.com ([fe80::89f9:4e97:546d:2b97%6]) with mapi id 15.20.4020.022; Fri, 16 Apr 2021 13:45:42 +0000 From: "Sunny Wang" To: Samer El-Haj-Mahmoud , "devel@edk2.groups.io" CC: Jeremy Linton , Pete Batard , Ard Biesheuvel , Sunny Wang Subject: Re: [PATCH 1/1] Platform/RaspberryPi: Setup option for disabling Fast Boot Thread-Topic: [PATCH 1/1] Platform/RaspberryPi: Setup option for disabling Fast Boot Thread-Index: AQHXL3sxbvdb/hmMHU+g366AN80yvqqxZqKAgAXEwwA= Date: Fri, 16 Apr 2021 13:45:42 +0000 Message-ID: References: <20210412090545.2130-1-Sunny.Wang@arm.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 9C0B6A6B729C9F4D86DBFC9B808DA647.0 x-checkrecipientchecked: true Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [220.129.198.227] x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: 195238df-02cd-4b9a-e504-08d900ddf350 x-ms-traffictypediagnostic: DBBPR08MB4539:|DB9PR08MB7211: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:6790;OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: HYggQYXtgZcg6LTM3rwj946ta8ja+g9WkD/abe5uX07hwC8woAlmepawtwr1CgBjNnIdZfaNK9CuhpGjJgegvdcWVj4FCZSO+VEL3Vmr2ayX660biEMKSL4KQtAJdR6Fe9F/U/eGn4YTBKDKpS8u5+qQuzlr+SUqLhSAkHVtpsMbEQzkCT06YLmIc2VqxOm2YGaDhIt2rxnXrUt18vmWix1+vk+VnHk7CzTfWRv+1YDisCscGO9CCPeiGxGNFsfH5SqTX1U2ysgJrV/tiIEsGupy46MaKZ+7sdAdFNFCsaPZnzefNG2CLxgi1yY9mQ+eJ+b6xy9bN+2wXHFfBKYWKXLmwBEFTr1+XLABhMKi90vSJuSmKklBIDSc2AaQV3o/lEI49Ml8OlUmjyFKgrI5zZI26w8iYjfyhDWhsHLNMwRtRdFzCos57m9UKwifjzqad+egIsU7P0lKDTOz0dwe69cdqKb0OaqL41wmnnKhK0ILSnKbpiJrKrYMDb81lBw4Pn5ie+MJeZoSXxxtsUxiLd/5x0W2n/pWHRPuuV1Nh7UhR/PKud0Wx3fGUPgWBQhBdsxyd0DUuZCEUGopd9cJOwsgi6qeRRyr7IhIrJv3pxSDvdHxs3oUG77/6PMi6CrUmz8iYXBq40BiWPEmGsWUMbE0UIqLcvXUMC6W2FGHYW//pOnOO6zQUI0P1nVUSKr3 X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR08MB3993.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(346002)(366004)(396003)(136003)(39850400004)(376002)(110136005)(54906003)(122000001)(55016002)(9686003)(966005)(19627235002)(52536014)(33656002)(86362001)(316002)(71200400001)(4326008)(6506007)(8676002)(38100700002)(7696005)(53546011)(478600001)(66556008)(66476007)(64756008)(8936002)(66446008)(83380400001)(30864003)(186003)(66946007)(2906002)(5660300002)(76116006)(26005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?COpcw/peTn/rFQT3k6IH8TkyYQeRco9kZkXLSJT7bdk+tiaDTp5Q0NUFrtmZ?= =?us-ascii?Q?TwfOb0X1Yz6COHjPsmjDM++W0H1V4VeZ/vTmy4g+A02+yDdCsONLaQKysBAc?= =?us-ascii?Q?Hn9k9kyAKv5tJD9+P6l6/GDRNFZKODRn93WHqoEIy6HlO4ZpU8f06W5rP1GI?= =?us-ascii?Q?103cRp2DSX1ZgUA4zP29bpmw84+4y8Ty+3eZSyh3W9pfLa1wEXbfUudH/Z0D?= =?us-ascii?Q?RbfNLKqA+93oMR17VJdWCj0uVhxTfsvXN3s3D53Lyxz6B1gix8RyvIOaxS5U?= =?us-ascii?Q?vRwcR1FHd8Y2Y5y+8io8hrNzXRvl/Ek6NdHf0FFVCntuHIxkfDEPNDDrHjlu?= =?us-ascii?Q?pwt7OStawnHhrNcE/B4QDEvLgT/IR062tFuz2BacCGN4XAGQX2wHlBRxoXPP?= =?us-ascii?Q?pjvO6G/0UQ8hJj2ROJktELLG0SLm3mOKwvXKf6UCL5JxjltHSa9qTSudCE0J?= =?us-ascii?Q?KH84RmOatmJvm+m6rPaOyfgUQxj4c3Prc68iYGk7hnZ+dvTzHX6HZ7BWKiew?= =?us-ascii?Q?u3KVNzZpbSFIPmGpHz/EN20jSB0P8QqAxMAWxTQ4MAOF2tnJ4GMA6jSMpCRd?= =?us-ascii?Q?opItPAToqCkxi3z/m6/4RAYVy8pnPMtfiOh/2tqfWwCTnRvczY3YJ4DO/3VR?= =?us-ascii?Q?Kph6LyLbWZ8uPYsuKVAJgCino/xvZHYfsveUVtWUuxHp4hG5r3Lfsln+cDdo?= =?us-ascii?Q?hrTC+R3oKCI2uwoX29iskDLcdPeNyqTFALanpDhY0KLAiaU5ox2iurFKk/fZ?= =?us-ascii?Q?DB5bzc/AP9la9TzbjgzmUwVgznXgcwspKVRPsB24fKT1gJKF+0uDwuU2OmQO?= =?us-ascii?Q?I+TllHV5o1++8HfYaJT/Tt1QskeJXs3tFT+KFBGrjyyhZOKFsCWPrCPyPzGC?= =?us-ascii?Q?Pn1od7TWO//y7HQvlvxiS9C9ek4dEktBEKcIGrFoZwJEhD+fQbL3HcQzGuSa?= =?us-ascii?Q?EIckCzD1Bbvsx4hHYNXTInUtX1LewaVRcDK2slpsHgaSMCqt3G3J0tPg2xc8?= =?us-ascii?Q?1ma/MHrDqEYX3bV/j/kxob//uXdcVJr0tF5ir75szmMq5G4DlLwoIBxmR/XS?= =?us-ascii?Q?JUXYsiRNsrlvtIVyxAakfuL6J6PV0cwzy678OvMFPiFKMw6qb/dA1s/WIBLM?= =?us-ascii?Q?C/7xaxxcZgOTQmoBEsAy/9pcYdRHzZzgcMuNlIJnfijIkRHYkrXl/Q0ICfzA?= =?us-ascii?Q?id6uIKTKN/yl1VnUntrUA1CgMCsI1QMxjgG50gr7EQdA8E6GP03qZubRlA2w?= =?us-ascii?Q?zfznM71zSV08QjxU+pjwkeAIK2j+WKiegUhTcnOjtCUy6vo5g4tDrMSD8Rqx?= =?us-ascii?Q?OkIcKjHMRrT8xn9cFUxIuasv?= MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB4539 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Return-Path: Sunny.Wang@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT059.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: c3ea591e-9788-47e6-6a66-08d900ddedd1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8HAZSAVkYHUJBfXmpu7dKd/qJkn9RrvXJecmcvbdkgh9cCfqsJeRKUi5k2pBZyCh9YU7Sl2PM9Qg5gt7BuLBr+eR3HMLCc2CghRKQS1pL+GT8xMlyhZNnRANaJf7wIy+C2hEtmCb/S2i82Wz+iORoqhfk6aQxa5nDsCaRoL8qaIc7cPlVaRDyIXwAUuFfrAsQVd/k0CgQSKt8I674AJuOEBkOnhtUaR2s9uyx4t0Ega0JJZeRy4IIqJxrfAk2isLG5zfOpPvhD9vl3CVCnzrPbBgN5FXzk+UIeh2s5bawzXP6g9l1wQmr74H3q0GIGg7RLKDBOnyeTmt8/Y0g6x1QV+PaV2rJO55Ep/rdiLBnC5A0kZ0O8MT0KdD9ugYphHewq/7OS0QJKAm13kRv5IpEGOdfEAfXKBm2+Pe9aQpnFeapd8uD+AEeMvLHkIZAnvDieS6YuFwj+JlZIs43fXR6Zz/kcbITiFiNrxjjTZ7A6q0YFElh4ca3+eRl3EVWsC3TE54Vuuq9NlL4dYuzqTT/tDRFZnw2YS4CBBgNtZ0mU7XIxvjsb1QbvlmzB01KuDxyXsXp619gkewphmIeez7b8Nmhx9IEM+fzUgl04wc9kdv5QdfQvN3o62ohSB6YhMyj8F3gV5F58gfQ5lG1sGs59ko8ZoncPqma8ZOTYYePH3eB928EbSdrslaXF7vvtWC9Io0LPjL5f9qS/5EyGm/m2hsLX/bUJXQGESgRsQX1DU= 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:(4636009)(39850400004)(396003)(376002)(136003)(346002)(46966006)(36840700001)(966005)(82310400003)(2906002)(26005)(8936002)(356005)(316002)(110136005)(54906003)(81166007)(19627235002)(478600001)(86362001)(186003)(336012)(83380400001)(82740400003)(6506007)(8676002)(36860700001)(53546011)(30864003)(9686003)(5660300002)(52536014)(70586007)(47076005)(70206006)(4326008)(33656002)(55016002)(7696005);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Apr 2021 13:45:51.8879 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 195238df-02cd-4b9a-e504-08d900ddf350 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: AM5EUR03FT059.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7211 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Samer, Thanks for checking and putting all related issues here. However, I missed = your comment in v2. Sorry about that. Therefore, I directly added the refer= ences to the commit. https://github.com/tianocore/edk2-platforms/commit/efdc159ef7c9f15581a0f63d= 755a1530ff475156 This commit turned out to fix three issues below. I also added comments/upd= ates to these four issues and closed the following three. https://github.com/pftf/RPi4/issues/144 https://github.com/pftf/RPi4/issues/114 https://github.com/pftf/RPi4/issues/117 Best Regards, Sunny Wang -----Original Message----- From: Samer El-Haj-Mahmoud Sent: Tuesday, April 13, 2021 5:29 AM To: Sunny Wang ; devel@edk2.groups.io Cc: Sunny Wang ; Jeremy Linton ;= Pete Batard ; Ard Biesheuvel ; Su= nny Wang ; Samer El-Haj-Mahmoud Subject: RE: [PATCH 1/1] Platform/RaspberryPi: Setup option for disabling F= ast Boot Sunny, Thanks for sending this! This was tested by several RPi4 users and confirmed to fix at least the fol= lowing issue: https://github.com/pftf/RPi4/issues/144 https://github.com/pftf/RPi4/issues/114 It *may* also fix the following issues (to be confirmed): https://github.com/pftf/RPi4/issues/117 https://github.com/pftf/RPi4/issues/136 Please add references to these issues (at least confirmed ones) in the comm= it message when you send the v2 of the patch. With that, Acked-by: Samer El-Haj-Mahmoud > -----Original Message----- > From: Sunny Wang > Sent: Monday, April 12, 2021 5:06 AM > To: devel@edk2.groups.io > Cc: Sunny Wang ; Samer El-Haj-Mahmoud > ; Jeremy Linton ; > Pete Batard ; Ard Biesheuvel > ; Sunny Wang > Subject: [PATCH 1/1] Platform/RaspberryPi: Setup option for disabling > Fast Boot > > This is a fix for https://github.com/pftf/RPi4/issues/114. > > Changes: > 1. Add a setup option called Boot Policy and consume the setting > during boot to whether perform or skip ConnectAll. > 2. The Default setting is set to Full discovery because it is not > worth enabling Fast boot by default on RaspberryPi systems. > Enabling it just saves boot time about 1 second, but caused a > lot of issues. > > Testing Done: > - Booted to Standalone UEFI shell on SD card and use drivers > command to check the result with Fast Boot and Full discovery > settings. Then, child/device handles are created as expected. > > Note and to-do items: > - The root cause looks like that boot loaders and some tools like > grub and iPXE haven't supported selective connect/Fast boot. > However, system firmware should still provide a setup option for > user to enable Fast boot with old version boot loaders and tools > , which is why we proposed this change. We will also report this > issue to boot loader and tool vendors/open source GitHubs. > - We Will add more options for connecting specific type devices so > that we can still have the shortest boot time for all use cases. > > Cc: Samer El-Haj-Mahmoud > Cc: Jeremy Linton > Cc: Pete Batard > Cc: Ard Biesheuvel > Signed-off-by: Sunny Wang > --- > .../RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c | 11 ++++++++++- > .../RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf | 3 ++- > .../Drivers/ConfigDxe/ConfigDxeHii.uni | 10 +++++++++- > .../Drivers/ConfigDxe/ConfigDxeHii.vfr | 15 ++++++++++++++- > Platform/RaspberryPi/Include/ConfigVars.h | 12 +++++++++++- > .../Library/PlatformBootManagerLib/PlatformBm.c | 16 ++++++++++++++-- > .../PlatformBootManagerLib.inf | 1 + > Platform/RaspberryPi/RPi3/RPi3.dsc | 10 +++++++++- > Platform/RaspberryPi/RPi4/RPi4.dsc | 9 ++++++++- > Platform/RaspberryPi/RaspberryPi.dec | 2 ++ > 10 files changed, 80 insertions(+), 9 deletions(-) > > diff --git a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c > b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c > index 22f86d4d44..d3c5869949 100644 > --- a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c > +++ b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c > @@ -1,6 +1,6 @@ > /** @file *- * Copyright (c) 2019 - 2020, ARM Limited. All rights > reserved.+ * Copyright (c) 2019 - 2021, ARM Limited. All rights > reserved. * Copyright (c) > 2018 - 2020, Andrei Warkentin * * > SPDX- > License-Identifier: BSD-2-Clause-Patent@@ -281,6 +281,15 @@ > SetupVariables ( > ); } + Size =3D sizeof (UINT32);+ Status =3D gRT= ->GetVariable > (L"BootPolicy",+ &gConfigDxeFormSetGuid,+ = NULL, &Size, > &Var32);+ if (EFI_ERROR (Status)) {+ Status =3D PcdSet32S (PcdBootPol= icy, > PcdGet32 (PcdBootPolicy));+ ASSERT_EFI_ERROR (Status);+ }+ Size =3D > sizeof (UINT32); Status =3D gRT->GetVariable (L"SdIsArasan", > &gConfigDxeFormSetGuid,diff --git > a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf > b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf > index d51e54e010..032e40b0c3 100644 > --- a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf > +++ b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.inf > @@ -2,7 +2,7 @@ > # # Component description file for the RasbperryPi DXE platform > config driver. #-# Copyright (c) 2019 - 2020, ARM Limited. All rights > reserved.+# Copyright (c) 2019 - 2021, ARM Limited. All rights > reserved. # Copyright (c) > 2018 - 2020, Andrei Warkentin # # SPDX- > License-Identifier: BSD-2-Clause-Patent@@ -93,6 +93,7 @@ > gRaspberryPiTokenSpaceGuid.PcdRamLimitTo3GB > gRaspberryPiTokenSpaceGuid.PcdFanOnGpio > gRaspberryPiTokenSpaceGuid.PcdFanTemp+ > gRaspberryPiTokenSpaceGuid.PcdBootPolicy [Depex] gPcdProtocolGuid > AND gRaspberryPiFirmwareProtocolGuiddiff --git > a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni > b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni > index 466fa852cb..7b14fdf39f 100644 > --- a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni > +++ b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni > @@ -1,7 +1,7 @@ > /** @file * * Copyright (c) 2018, Andrei Warkentin > - * Copyright (c) 2020, ARM Limited. All > rights reserved.+ * Copyright (c) 2020 - 2021, ARM Limited. All > rights reserved. * * SPDX-License-Identifier: BSD-2-Clause-Patent > *@@ -60,6 > +60,14 @@ > #string STR_ADVANCED_ASSET_TAG_PROMPT #language en-US "Asset Tag" > #string STR_ADVANCED_ASSET_TAG_HELP #language en-US "Set the > system Asset Tag" +#string STR_BOOT_POLICY_PROMPT #language en- > US "Boot Policy"+#string STR_BOOT_POLICY_HELP #language en-US > "When Fast Boot is selected, only required devices will be discoverd for > reducing "+ "the boo= t time."+ > "When Full Discovery is selected, all the devices will be discoverd > for some "+ "scenarios such as system deployement and diagnostic tests"+#= string > STR_FAST_BOOT #language en-US "Fast Boot"+#string > STR_FULL_DISCOVERY #language en-US "Full Discovery"+ /* * > MMC/SD configuration. */diff --git > a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.vfr > b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.vfr > index cc7a09cfb7..5dc558ec08 100644 > --- a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.vfr > +++ b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.vfr > @@ -1,7 +1,7 @@ > /** @file * * Copyright (c) 2018 Andrei Warkentin > - * Copyright (c) 2020, ARM Limited. All > rights reserved.+ * Copyright (c) 2020 - 2021, ARM Limited. All > rights reserved. * * SPDX-License-Identifier: BSD-2-Clause-Patent > *@@ -116,6 > +116,11 @@ formset > name =3D DisplayEnableSShot, guid =3D CONFIGDXE_FORM_SET_G= UID; + > efivarstore BOOT_POLICY_VARSTORE_DATA,+ attribute =3D > EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | > EFI_VARIABLE_NON_VOLATILE,+ name =3D BootPolicy,+ guid =3D > CONFIGDXE_FORM_SET_GUID;+ form formid =3D 1, title =3D > STRING_TOKEN(STR_FORM_SET_TITLE); subtitle text =3D > STRING_TOKEN(STR_NULL_STRING);@@ -220,6 +225,14 @@ formset > minsize =3D 0, maxsize =3D ASSET_TAG_STR_MAX_LEN= , > endstring;++ oneof varid =3D BootPolicy.BootPolicy,+ pr= ompt =3D > STRING_TOKEN(STR_BOOT_POLICY_PROMPT),+ help =3D > STRING_TOKEN(STR_BOOT_POLICY_HELP),+ flags =3D > NUMERIC_SIZE_4 | INTERACTIVE | RESET_REQUIRED,+ option text = =3D > STRING_TOKEN(STR_FAST_BOOT ), value =3D FAST_BOOT , flags =3D 0;+ option > text =3D STRING_TOKEN(STR_FULL_DISCOVERY), value =3D > FULL_DISCOVERY, flags =3D DEFAULT;+ endoneof; endform; fo= rm > formid =3D 0x1003,diff --git a/Platform/RaspberryPi/Include/ConfigVars.h > b/Platform/RaspberryPi/Include/ConfigVars.h > index 142317985a..3347f899df 100644 > --- a/Platform/RaspberryPi/Include/ConfigVars.h > +++ b/Platform/RaspberryPi/Include/ConfigVars.h > @@ -1,7 +1,7 @@ > /** @file * * Copyright (c) 2020, Andrei Warkentin > - * Copyright (c) 2020, ARM Limited. All > rights reserved.+ * Copyright (c) 2020 - 2021, ARM Limited. All > rights reserved. * * SPDX-License-Identifier: BSD-2-Clause-Patent > *@@ -143,4 > +143,14 @@ typedef struct { > UINT32 EnableDma; } MMC_EMMC_DMA_VARSTORE_DATA; +#define > FAST_BOOT 0+#define FULL_DISCOVERY 1+typedef struct {+ /*+ * 0 - > Fast Boot+ * 1 - Full Discovrey (Connect All)+ */+ UINT32 BootPolicy= ;+} > BOOT_POLICY_VARSTORE_DATA;+ #endif /* CONFIG_VARS_H */diff --git > a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c > b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c > index c2fc40b8ea..abbe4fb3d0 100644 > --- a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c > +++ b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c > @@ -4,7 +4,7 @@ > * Copyright (c) 2017-2018, Andrei Warkentin > * Copyright (c) 2016, Linaro Ltd. All > rights reserved. * Copyright (c) 2015-2016, Red Hat, Inc.- * > Copyright (c) 2014- 2020, ARM Ltd. All rights reserved.+ * Copyright > (c) 2014-2021, ARM Ltd. All rights reserved. * Copyright (c) > 2004-2016, Intel Corporation. All rights reserved. * * > SPDX-License-Identifier: BSD-2-Clause-Patent@@ -26,9 > +26,11 @@ #include #include > +#include + #include "PlatformBm.h" -#define > BOOT_PROMPT L"ESC (setup), F1 (shell), ENTER (boot)"+#define > BOOT_PROMPT L"ESC (setup), F1 (shell), ENTER (boot)\n" #define > DP_NODE_LEN(Type) { (UINT8)sizeof (Type), (UINT8)(sizeof (Type) >> 8) > } @@ -633,6 +635,16 @@ PlatformBootManagerAfterConsole ( > Print (BOOT_PROMPT); } + //+ // Connect the rest of the devices = if the > boot polcy is set to Full discovery+ //+ if (PcdGet32 (PcdBootPolicy) = =3D=3D > FULL_DISCOVERY) {+ DEBUG ((DEBUG_INFO, "Boot Policy is Full Discovery. > Connect All devices\n"));+ EfiBootManagerConnectAll ();+ } else if > (PcdGet32 (PcdBootPolicy) =3D=3D FAST_BOOT) {+ DEBUG ((DEBUG_INFO, > "Boot Policy is Fast Boot. Skip connecting all devices\n"));+ }+ Statu= s =3D gBS- > >LocateProtocol (&gEsrtManagementProtocolGuid, NULL, > (VOID**)&EsrtManagement); if (!EFI_ERROR (Status)) { EsrtManagement= - > >SyncEsrtFmp ();diff --git > a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootMan > agerLib.inf > b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootMan > agerLib.inf > index 88f6f8fe09..fbf510ab96 100644 > --- > a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootMan > agerLib.inf > +++ > b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootMa > +++ nagerLib.inf > @@ -63,6 +63,7 @@ > [Pcd] gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut > gRaspberryPiTokenSpaceGuid.PcdSdIsArasan+ > gRaspberryPiTokenSpaceGuid.PcdBootPolicy [Guids] gEfiFileInfoGuiddiff = -- > git a/Platform/RaspberryPi/RPi3/RPi3.dsc > b/Platform/RaspberryPi/RPi3/RPi3.dsc > index 0961133ae9..ddb03e405f 100644 > --- a/Platform/RaspberryPi/RPi3/RPi3.dsc > +++ b/Platform/RaspberryPi/RPi3/RPi3.dsc > @@ -1,6 +1,6 @@ > # @file #-# Copyright (c) 2011 - 2020, ARM Limited. All rights > reserved.+# Copyright (c) 2011 - 2021, ARM Limited. All rights > reserved. # Copyright (c) 2014, Linaro Limited. All rights reserved. > # Copyright (c) 2015 - 2021, Intel Corporation. All rights reserved. > # Copyright (c) 2017 - 2018, Andrei Warkentin > @@ -512,6 +512,14 @@ > > gRaspberryPiTokenSpaceGuid.PcdFanOnGpio|L"FanOnGpio"|gConfigDxeFor > mSetGuid|0x0|0 > gRaspberryPiTokenSpaceGuid.PcdFanTemp|L"FanTemp"|gConfigDxeFormS > etGuid|0x0|0 + #+ # Boot Policy+ # 0 - Fast Boot+ # 1 - Full > etGuid|0x0|Discovrey > (Connect All)+ #+ > gRaspberryPiTokenSpaceGuid.PcdBootPolicy|L"BootPolicy"|gConfigDxeFor > mSetGuid|0x0|1++ # # Reset-related. #diff --git > a/Platform/RaspberryPi/RPi4/RPi4.dsc > b/Platform/RaspberryPi/RPi4/RPi4.dsc > index ff802d8347..8ee1922a44 100644 > --- a/Platform/RaspberryPi/RPi4/RPi4.dsc > +++ b/Platform/RaspberryPi/RPi4/RPi4.dsc > @@ -1,6 +1,6 @@ > # @file #-# Copyright (c) 2011 - 2020, ARM Limited. All rights > reserved.+# Copyright (c) 2011 - 2021, ARM Limited. All rights > reserved. # Copyright (c) > 2017 - 2018, Andrei Warkentin # > Copyright > (c) 2015 - 2021, Intel Corporation. All rights reserved. # Copyright > (c) 2014, Linaro Limited. All rights reserved.@@ -528,6 +528,13 @@ > > gRaspberryPiTokenSpaceGuid.PcdFanOnGpio|L"FanOnGpio"|gConfigDxeFor > mSetGuid|0x0|0 > gRaspberryPiTokenSpaceGuid.PcdFanTemp|L"FanTemp"|gConfigDxeFormS > etGuid|0x0|60 + #+ # Boot Policy+ # 0 - Fast Boot+ # 1 - Full > etGuid|0x0|Discovrey > (Connect All)+ #+ > gRaspberryPiTokenSpaceGuid.PcdBootPolicy|L"BootPolicy"|gConfigDxeFor > mSetGuid|0x0|1+ # # Reset-related. #diff --git > a/Platform/RaspberryPi/RaspberryPi.dec > b/Platform/RaspberryPi/RaspberryPi.dec > index 08135717ed..8eb1c2bac7 100644 > --- a/Platform/RaspberryPi/RaspberryPi.dec > +++ b/Platform/RaspberryPi/RaspberryPi.dec > @@ -2,6 +2,7 @@ > # # Copyright (c) 2016, Linaro, Ltd. All rights reserved. # > Copyright (c) 2017- 2018, Andrei Warkentin > +# Copyright (c) 2021, ARM Limited. All > rights reserved. # # SPDX-License-Identifier: BSD-2- Clause-Patent #@@ -= 70,3 +71,4 @@ > gRaspberryPiTokenSpaceGuid.PcdFanTemp|0|UINT32|0x0000001D > gRaspberryPiTokenSpaceGuid.PcdPlatformResetDelay|0|UINT32|0x0000001 > E > gRaspberryPiTokenSpaceGuid.PcdMmcEnableDma|0|UINT32|0x0000001F+ > gRaspberryPiTokenSpaceGuid.PcdBootPolicy|0|UINT32|0x00000020-- > 2.31.0.windows.1 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.