From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR04-DB3-obe.outbound.protection.outlook.com (EUR04-DB3-obe.outbound.protection.outlook.com [40.107.6.41]) by mx.groups.io with SMTP id smtpd.web09.5926.1618300319018200394 for ; Tue, 13 Apr 2021 00:51:59 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=AxXJTQ1y; spf=pass (domain: arm.com, ip: 40.107.6.41, 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=r3mjjwj2LBncPUiSh7pdi77eXTjh/G5p0b84wDwkEsE=; b=AxXJTQ1yr/qgCk+dghu/9QrW+D2nQ362fWydHz45GG5bVexdscdM038iWFjJWnow4N7fkfXQuDsPmLBPdin9sFRQ4x7FDeaDEXQh+8pEist+Aqh4mEGHJiFavxaXXJi3zDZU6tryu+dO24pvLbda8F5JLiQZfMw9sQb7j3aYXKY= Received: from DB7PR05CA0005.eurprd05.prod.outlook.com (2603:10a6:10:36::18) by AM6PR08MB4819.eurprd08.prod.outlook.com (2603:10a6:20b:c7::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.18; Tue, 13 Apr 2021 07:51:56 +0000 Received: from DB5EUR03FT027.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:36:cafe::ab) by DB7PR05CA0005.outlook.office365.com (2603:10a6:10:36::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.16 via Frontend Transport; Tue, 13 Apr 2021 07:51:55 +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 DB5EUR03FT027.mail.protection.outlook.com (10.152.20.121) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.17 via Frontend Transport; Tue, 13 Apr 2021 07:51:55 +0000 Received: ("Tessian outbound 4ee49f77c636:v90"); Tue, 13 Apr 2021 07:51:55 +0000 X-CR-MTA-TID: 64aa7808 Received: from 987dd43f9ad8.3 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 524FBDC8-4AFC-4C77-8F85-29ABD809F18D.1; Tue, 13 Apr 2021 07:51:49 +0000 Received: from EUR03-AM5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 987dd43f9ad8.3 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 13 Apr 2021 07:51:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lwKgHx5JbnqkZgR5mTJog6AleoDjsT+ljC0AGeMH2Xauv/TgCiknyKMD8STG8w5urRRSItz48oOR97x5DTpywrNIfAM0EVEsoVqEJyZVe/tfObj7xWWc2lAJyQi9LtF9GBBPclAXfC7XYwss3bDZQX9vwJAsQfLizjk3RrcfL6CANkwvveyV0MRNCIUqs+queYFAaD9Q55cSw/rLjazJStZHdKpOjaTaQOC9RTJrtiBEZKIwhZaNGdheoGEkb7z2wDmGBl6M7YrzqWOHGlooFo9g43jEPH4AdQqQpqscH8OdPyA6UiuYBgESnDSWtKMCjPzhyYb0M4qZia8mY0sHSg== 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=r3mjjwj2LBncPUiSh7pdi77eXTjh/G5p0b84wDwkEsE=; b=fuXSddebu6a7nVAkpFx45801/fB1N4mUk4dmunruKlV8rbHglnyPztVqngiBRyOHapd+CNlgN8M7rr8zaTdi+KJdLOmZMCW8p/x0MH0uSd9l9NAdTvegN/ZPKZo11LqsWd61YleFLpoZEGpQdrbmqu42IhtKWHB93BuO2KsCaCeWLYHa3kd2gRoQJM2Yqg4Bw+CI+dBISYLyTFHxju6++26JbaxEGAY9zH6nQz5/u69LKPAFYc1KLnJEUEcdQt8yYD2mP1fbDCz2ON+B0ZXQvNA6p+MUnTkvmhqkqbcTQv548MKUbUevo+BR167GTktZ06dqL4NXAtw1cxiRZJ+c9Q== 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=r3mjjwj2LBncPUiSh7pdi77eXTjh/G5p0b84wDwkEsE=; b=AxXJTQ1yr/qgCk+dghu/9QrW+D2nQ362fWydHz45GG5bVexdscdM038iWFjJWnow4N7fkfXQuDsPmLBPdin9sFRQ4x7FDeaDEXQh+8pEist+Aqh4mEGHJiFavxaXXJi3zDZU6tryu+dO24pvLbda8F5JLiQZfMw9sQb7j3aYXKY= Received: from DB8PR08MB3993.eurprd08.prod.outlook.com (2603:10a6:10:ad::26) by DB9PR08MB6571.eurprd08.prod.outlook.com (2603:10a6:10:25b::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.22; Tue, 13 Apr 2021 07:51:48 +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; Tue, 13 Apr 2021 07:51:48 +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+g366AN80yvqqxZqKAgACr+ZA= Date: Tue, 13 Apr 2021 07:51:47 +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: 080245F847D981468EA109D3479229C2.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: b903ad7f-adb2-4c3b-adee-08d8fe510262 x-ms-traffictypediagnostic: DB9PR08MB6571:|AM6PR08MB4819: x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:3276;OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: hLdvCpqQ5SnvfrzrGOA+k/sxbSEstfOhCsQAkleYL73lmnVz12GQLc50/VKL9cJHHW4q9vaBMBez5ZbrbNKwFgU785+IUNXnmciFutltAx8wrGVtMXipDZUh6LPp+nltWiKyegappW/YoMRazCcLzsgAFZ00FpYXQVMwAgolujCoNoKOKjmr/tBsjPhSJpIAYkV2fDWB9FkvJ6VZzZQx1fQqGPtoiJyAKksPN+YMXnocdYalxgGMd2ffCTVS/ClJNl5W8DpFHmuYoV7H6TKoDcxCTIbrI5he/IVU4xAnP7hB6zYEBeFSfTLyt8sk1uefmc2rBv/I32O1CiOOZ3fF9TZJIhfwK7zPKz/n3Ye/o6tSp+uj5oNpEzCeRsSTA6RMxG2pIDKqmXKftTM4iFREoiRHQ+25DrqbdqelNEu46rqEag53wlyUAca4xiZ2RWcTdkTL1Um/7raW61+EcO22t38nSVwCCL6+BVqoKxZs1ysx//MWadBkpBDYYiT/0KkYV4zZEV7EYzmHWRnN/tmR9DoTl2gymmvhW+1OgQdGwCpe4CtfWyQ54u8jQH1Ac+QFfXl76R8iaRUoSkDaVKasbxEkBNDAAdqCYlrA37HsP5nj8LK+iYUUZdzffxovSXkKMxcgTwYZQqb+FZmSG/1C4iu4ZfF9HSYZRHXMJ8I0O+8AvBNUponNEUW6u/DT9FV+ 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)(376002)(396003)(39860400002)(346002)(366004)(136003)(19627235002)(66446008)(64756008)(478600001)(5660300002)(66476007)(54906003)(4326008)(26005)(38100700002)(110136005)(966005)(76116006)(66556008)(66946007)(55016002)(86362001)(33656002)(7696005)(30864003)(52536014)(9686003)(71200400001)(2906002)(316002)(186003)(83380400001)(8676002)(8936002)(6506007)(122000001)(53546011);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?lLJbtMou4J4kgJSU6eW5BuUqlSXsU4VomcH8M6LTKnYezpza01qYsMZU6fCJ?= =?us-ascii?Q?HRa55xS3e/63b4pb2vmGc7xWg4qQwFxSQO+MEwWzBX1PTKO1k4WxQQWe76sv?= =?us-ascii?Q?XTb1KT/jkph4w1cx2UHNkVuD33np+ueqEqo4J+RuhmCo3lNOFNxQFVHY4vup?= =?us-ascii?Q?tMXH0wJ/fF5SlcwyQJ8Z9hvTiPTMiVFAoyyO1Y8DpErTI6Hr71HqhX+wZBHz?= =?us-ascii?Q?FFi8bR70aKrwqDCmKXzX/QR9/PBBXd/tyl2hYnk2fUxRDp3fMAnBKa9TB728?= =?us-ascii?Q?fDv4taFH3J2yRLjV8qsTeaFLjb9Sv51rP8SjVQIF/s9O1nmdfbuMK7XstyHs?= =?us-ascii?Q?nkJsJilGKXjLaODq5IhObE1Xb4xzrQe8APGnKdy+mOK2Fan9biWrYlDuC73J?= =?us-ascii?Q?yrBYGgUs74dZzqK/XAJdwbYgE98afpE4GHGXNiocBx503Cvn7qIkjPcTv4x4?= =?us-ascii?Q?MTZ8EaC8dBna1zMrSU2gnEiE46k6MpnhEFiD4ilNM1oKyn5gE2sYw7coPcXd?= =?us-ascii?Q?GedHE5ZDeNwLnV9mzEH0TUGYRaXjU0JfmQbGFpoCb3Jzp2VdIOf5nosmL0Ce?= =?us-ascii?Q?dK6gOeSq0CVbs4NBrwyKnBcjJXzahzLvh/NuAP0FYAYJWSX6ZVp4dWbZFGPO?= =?us-ascii?Q?RYV2t3pXgpfUQkyARcSVqBzox2QaG9dVxX13lKctUcUPI4KxMmPHTpv2+i6W?= =?us-ascii?Q?r7V6G3xAQ9oyUWXlkTtfl4a5tmDDACZvImRljWFxHQhLbi9tTQFSe4kSP/Pc?= =?us-ascii?Q?hBZVlj7CmfZcOb2a+3hiD94L0B3MxzJi/18nLF+Qqk9Z+68Auwqjt1e44iG+?= =?us-ascii?Q?Tt9J7I5AD73YoD45t5vSwtY/rVfDi+SjlfZGr+1G/PBqbWoFeKdo9SP2VWYw?= =?us-ascii?Q?xaG7E8mtrIk3DX/XaGXr3WpUE3OjBSHECXlu1Q4BV74Y53AQ4je6lu7nSz+b?= =?us-ascii?Q?Z84PALBaYbXR2jY80wRriOpvZewZl34VzCijAv2h0A+MfDJam0vhCDUAQPse?= =?us-ascii?Q?9qwc0Q+0fRaMur898xNv+79r+d2u0Zfl/iei7d2hcakxYFYl4rYn3SeK2usD?= =?us-ascii?Q?l8KHlf08xDXeHR1TzQCM1ITqN1sYi3Lyaeu9d5MUtKyiIBISUvrbpgwono4y?= =?us-ascii?Q?XuuSBtguamQpKQqHTsikjKtv2TTglzZqCEFKT2N8yuH/lQyRMe4DsREt3CMJ?= =?us-ascii?Q?FuKAKDzyWUnU/G4kQ0j+oB2zCTZxl6sroJtWxVOom/hpKs2eJTJnf0T1ZA8w?= =?us-ascii?Q?FK+ePZ/lYwEphVWFJlOoaIpLDycF3MdkbNsAsGZMI+rqTlqGIFJ8lGtxEG/I?= =?us-ascii?Q?m4I3Q07fvj2Q3Q2eP0j3SAjL?= MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6571 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: DB5EUR03FT027.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 0807bfe3-bb25-47ef-08a5-08d8fe50fdc1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: c9YhvsyJzDReWmosz89siKkLoe4l8WxbfHH/u+naEAdFVJmw6nDRbMieXbMK668n9d13YVwG1J4m58PiyUolV3HaQp9QXcWpoUzAycH89sVdhbU2LGFMAP1J+y3Ku3ZxaDj5f1vN5BhaXGP6CwY5+NAKNyAkmI1YvZCJHeIL5AIBUADl4oewdOw7g2g6ru9Hatmjn38GkWlQA6BPbU+hynkO6ZEg/bsq5Lsr4wPNzPc9Fsz9RmNfjdTXIBvKzZU00JN6CGclfifdhsXvrH3XZ+FL7zfmIfBJhKYAX0b9WYdBYmvAjVh0wLYoaU0z5/KU4bWn0mAWmMfx6xUOzeFI8od6pol0+KauHcch573cMzk31nLc7TldrOBvXAj0UKOVu4PZ4N1Bn1Xy1n+ohTX8FKESuIlHtjFPCnGAoaN8mBWB3KwRIzeW6dHts6+uYqE2J1DQjhCk2eidPn+p8HoWR9do8SIQ7+6OvHRG4D0PLrhXwG7sm6jQEzg9hEzJF0mp43yRzQZM6vYU9Q3HYps3V36B95blJSv5nW2XF92u2fF0aWa6cj6FMyEWYLeEx/RxWKMpuBGO71a423cQmZNyjQLAkVCS116D6EDEhJAAP+XmFyQtWz6/ixZ8vosXjubbGXENSqYn/ZHO2HOXflfuk1LeVHhSLVNcz6fPLY2o38/pvbBpm2pP3AtOf16Jvjny2Cg+gkcus/Uey/48Jaz51OrVZZhUgKRrOGwSZGNMFb0= 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)(346002)(39860400002)(136003)(396003)(376002)(46966006)(36840700001)(82740400003)(4326008)(52536014)(19627235002)(82310400003)(6506007)(33656002)(81166007)(83380400001)(30864003)(70206006)(86362001)(356005)(2906002)(36860700001)(8936002)(5660300002)(70586007)(8676002)(478600001)(54906003)(53546011)(186003)(7696005)(316002)(110136005)(966005)(55016002)(47076005)(336012)(9686003)(26005);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Apr 2021 07:51:55.8632 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b903ad7f-adb2-4c3b-adee-08d8fe510262 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: DB5EUR03FT027.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4819 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Oops, I already sent v2. Sorry for missing your request (checking and confi= rming other issues and adding them to the commit message), Samer. I will check this later and send v3 or re-send v2. Please not push this until I address this comment. Thanks! 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.