From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (EUR01-DB5-obe.outbound.protection.outlook.com [40.107.15.45]) by mx.groups.io with SMTP id smtpd.web10.3970.1618262934080876242 for ; Mon, 12 Apr 2021 14:28:55 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=xR8jh6y4; spf=pass (domain: arm.com, ip: 40.107.15.45, mailfrom: samer.el-haj-mahmoud@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=VnzqEavdUJ2Nz0GK7vGyFdA2DQ0HsDtgPSJ/DjgIREw=; b=xR8jh6y49qcUyjVVoi6xm83DuR0Z4pkriMQ2cNSK5czfje/0697ZKkf4N0U1JFznyJnLVrhtaXmjHM+XfqWrWnG4JQcXSeJygP3jGssWWP1EKldKoDWdUN0GE7NibhWEuf+im0/vNKy1lXrQqevv1/K0YV5eNF417Ka6WHOVnx8= Received: from MR2P264CA0182.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501::21) by DBBPR08MB6185.eurprd08.prod.outlook.com (2603:10a6:10:207::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.21; Mon, 12 Apr 2021 21:28:50 +0000 Received: from VE1EUR03FT020.eop-EUR03.prod.protection.outlook.com (2603:10a6:501:0:cafe::8a) by MR2P264CA0182.outlook.office365.com (2603:10a6:501::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.17 via Frontend Transport; Mon, 12 Apr 2021 21:28:50 +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 VE1EUR03FT020.mail.protection.outlook.com (10.152.18.242) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.17 via Frontend Transport; Mon, 12 Apr 2021 21:28:50 +0000 Received: ("Tessian outbound 81a4524e9a48:v90"); Mon, 12 Apr 2021 21:28:49 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 1a2cf474ddcef852 X-CR-MTA-TID: 64aa7808 Received: from fca2754dc9ac.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 3A3B5298-D4D3-4B26-807A-670A4333D89F.1; Mon, 12 Apr 2021 21:28:38 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id fca2754dc9ac.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 12 Apr 2021 21:28:38 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E0uEJ1FPuB5GskL8W50/T4x8+NM5pDg8V11KJIIBhTfTbiuOsUdiZrBDwPX5UAs4kojW7VmUXAKzuZcFWkRFqJsLGwd9e1N/CdxT/lDP67/9uI5nQQmG0DCHn9niQTeurVuH+zCJLJnNyWApTeG0NUG+Ajyl+Pam0FwZb95hELjCvwvpU4YN+zKPfcpTYbwYWg8QLXmpRSx3hoZYA0GZHVl7Z/ILUTvULJeyvQ41xH35whGUQRS8BwFTRjFvLdS8keRazDUvDKvMzjI3P/lVQEf/AmvGOacrwNskVkp0GphkCwSRIQBL7pyN3eSvtoiKb6iAMfCMNb44FEUbyPG5JA== 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=VnzqEavdUJ2Nz0GK7vGyFdA2DQ0HsDtgPSJ/DjgIREw=; b=nrFAnlYRa9awkdci950fvz+ekEQcrGScRKtf/7pJMcDMC+c5eYbr2NvcbYQwIR/FJRjRFFxZSeYTnqinf/Wo7BklaU6mlx+PL4Ov/dZde9MwBF9MxqDPOrnurBR+kI+Iq688O0jwMgHbQ7cjMUv1WZtD1oeUO75DK9Y+8qsWDE8xcYJBC1ly1p7Ut4kaUFEHQKkhorAISMRBuG2OiQQJ+lo2t5UZcHUMoAoitBgZNDTt6GEL3U/e/0TOxqpPmR1DO9jQ7gRwKIAIaD9yRx7IhkqPmI3yYcJmW334gY8MzPFdslZD1dS03dVdxnNtq0rYlJks5mENTh2SVgTEMu7quQ== 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=VnzqEavdUJ2Nz0GK7vGyFdA2DQ0HsDtgPSJ/DjgIREw=; b=xR8jh6y49qcUyjVVoi6xm83DuR0Z4pkriMQ2cNSK5czfje/0697ZKkf4N0U1JFznyJnLVrhtaXmjHM+XfqWrWnG4JQcXSeJygP3jGssWWP1EKldKoDWdUN0GE7NibhWEuf+im0/vNKy1lXrQqevv1/K0YV5eNF417Ka6WHOVnx8= Received: from DB7PR08MB3260.eurprd08.prod.outlook.com (2603:10a6:5:21::23) by DBBPR08MB6090.eurprd08.prod.outlook.com (2603:10a6:10:208::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.21; Mon, 12 Apr 2021 21:28:38 +0000 Received: from DB7PR08MB3260.eurprd08.prod.outlook.com ([fe80::7492:d3fd:d6f4:e187]) by DB7PR08MB3260.eurprd08.prod.outlook.com ([fe80::7492:d3fd:d6f4:e187%6]) with mapi id 15.20.4020.022; Mon, 12 Apr 2021 21:28:37 +0000 From: "Samer El-Haj-Mahmoud" To: Sunny Wang , "devel@edk2.groups.io" CC: Sunny Wang , Jeremy Linton , Pete Batard , Ard Biesheuvel , Sunny Wang , Samer El-Haj-Mahmoud 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: AQHXL3sxLIy8uT0bwE2Wy27VvmQaMqqxZcWg Date: Mon, 12 Apr 2021 21:28:37 +0000 Message-ID: References: <20210412090545.2130-1-Sunny.Wang@arm.com> In-Reply-To: <20210412090545.2130-1-Sunny.Wang@arm.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: 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: [99.132.126.10] x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: 14623c39-3e85-40c2-f14d-08d8fdf9f6ca x-ms-traffictypediagnostic: DBBPR08MB6090:|DBBPR08MB6185: 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: xyBjFvaJyqd4sZ5d9siL6Rt8Vj9dq6hmrd/b3MsTjxNmu6/trZl8y9XC+0EEFaPDLIfve5Mbo8YL/1lm+ajtbFcIFAKMlLbIL6dE0OXOcwzkPm1pWM609ZLa41ADEnQ/3t/IQ5ty6bl3lqpEQYN23AW1nRCT8XsIl4RUtDjpS6zp9PVbU8s6W/tclGBtP2b/RPNOtmufN5D09a0W27l+/hFHFfAIV2GclSGgf8MLKc235tx7wszzPSK731siTgRhwuZEBt+qzRqT7QeEdj2yhbBaQCOpxU0Bv5Mh45c0PCnhhn0ZOK2fRfGBjEBKvyJb6fy6eryc5GdXPkTyMjwt7F5RA/UFk3ue3Tl74iQdJDOT0H87Kj/ZExEw9JqLA3Fk3tWuQ81bkUHVuVUgWqUXWhu5GNeM6PAuPlW8wpesh4WnAq4ZJiqFFT6ijQ6MoanRhGBUxDLaMqkiVU9ghxF4+CKHZ+GTry4W0kuF5B3p9FV4LVewJsGTesr1T76LEp330Ph3uosLUfTEDFwF1PgaDzIKvZF7CNwtEhjlOQMMKUInxkaPOUDySUCRuXRJkEK+03EJpOeaKIrqpIMMNKpYujbCUs/kXWKV+nI8TbGQI0vTNjpEjYfKbWiksIMaqnnfqD9NDKXqyN2RCIJw3KFKec3Bz5BwWq40op1krE4o5PDlD4nYCtFNu+BmH2y+VjWe X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB7PR08MB3260.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(346002)(366004)(396003)(376002)(39860400002)(136003)(9686003)(53546011)(6506007)(55016002)(71200400001)(8936002)(19627235002)(5660300002)(478600001)(966005)(2906002)(52536014)(66556008)(86362001)(76116006)(66476007)(316002)(186003)(64756008)(66946007)(33656002)(54906003)(26005)(4326008)(110136005)(7696005)(8676002)(30864003)(83380400001)(38100700002)(66446008);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?2BlqlmF3UEmiNQTTEEAjRJp/Wfcbc9BQx8Rheh+9AvaClE5TpNQmO6vblYvm?= =?us-ascii?Q?APuNW0+8hujaqeXWyxkiIdF3+UyOn4bkbMmiZhTsGgenz4qDDdLG3KA8r2xT?= =?us-ascii?Q?dZRCRNRcittF77KvDx6O6EEA2UKQCmTiRebROOCe+7SoZWOyvn9VVoEePIp+?= =?us-ascii?Q?evs3olMSsmHWRE3f3UOoJgRCTPPfQsNRDc9Gp4y7YNB1yX55+j4DCaR6rHP2?= =?us-ascii?Q?h/Jm6w7LljAkZVt963UANWInnXfUG2LtZCOqANriXlXpGZDYZR10HEFsuMgN?= =?us-ascii?Q?bd1Jsm0uavRiBQmAw3jxMyYDDOXHaRwlFF30FCGIZIN0qlkciT29EHi/TLAl?= =?us-ascii?Q?6AVjXvTJMD9A0tJUEXKUVoSo+jNxVN8DARegol4OURE1SACwbneaOMzx53JH?= =?us-ascii?Q?5JYWfHuEwxh+1N5hCoHdOUdWaH5iEOo1AJ+PavY1qB0UxcISDQRda+V1aIn1?= =?us-ascii?Q?s7UzvABm/7Lh5HDBzNvCdQB+Gc1uoco6J0Ru2a43fHfxdZdAsw25ztdbREXO?= =?us-ascii?Q?qFMUaNOZT5HY+1GmE2L9mBeEvHQw59V1LB0xoJi8DaQgyw+gSmsvMmdvD59/?= =?us-ascii?Q?KfKJ2L+hnj+z3ODluRwMr1MvKjyh9gHB8aU2rYweOez9ttyb+Ox77pEd7eof?= =?us-ascii?Q?SVswUEZRlk0jJ1KA4rVIaOZCHqdCvl6e8UZ5/9rJsCmIhlSMMvyT/GEs5Xms?= =?us-ascii?Q?2bu+f87hbv2jJDg6CfTXmGRzw7uoVaxmI7xOEzXHnDjKoP08p8joMyiLCp52?= =?us-ascii?Q?1LqDhsO3kBSVYy2gFRJV24xWPoBFVb9DslrRDdnaJZZfwrRYKDMq1hKMmMUv?= =?us-ascii?Q?mxweTOA8SxKaeuZdL1UhfndiwzZR2OhHeX/Bz0y/ycRbPzo+vfzfJBWgyYyk?= =?us-ascii?Q?jJdmm9FSamXo6ncuRNJ/fDLb8BIx/ugBEA2zmGpxR4idL/7iaYxFvp/ytw/k?= =?us-ascii?Q?lDzulHduGll/xWVZnD2IbqSrMUO4S61sS3L5Kd910MrqgcIRN+9N7w8B+KGW?= =?us-ascii?Q?EvDqwAM2torAIPZU2iKpMe8+QBsalRXLyX6p4AUrwnTKWWgCaVtbq5ACAdwn?= =?us-ascii?Q?qyAvyhEB45KSoEdNfPUEIC7S0uucDohUw2dmXb3pDFJhq2Dcvc7WHrAyInVm?= =?us-ascii?Q?g8AlsPmcAfCe5rrQEaP9RnZ5vY6aklV3psSihlLtdfOZB32q23ebFXOoN03O?= =?us-ascii?Q?BDYgDRxXwNevLPiMR46cYCy9mmDhwEqoJeh44xuJDZ0Ax8M0y72FBLV5Zfis?= =?us-ascii?Q?EQXaRfAshRUO/zFjoPLOne4J3S1fVYr6RukRLqFoQ3PFj6oIfGFaP7pTC+iZ?= =?us-ascii?Q?DF2wRjKtzBotyU88nkm3ujgK?= MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6090 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: Samer.El-Haj-Mahmoud@arm.com X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT020.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: fe8c8ec0-2545-4133-0038-08d8fdf9ef7d X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 6UzDZs4QU0kZ39/glziLBgnJVmk8xLI/ULN1EFUKXryf7b1o71YyrObBcU2zzRhHbUhCMEc0o+K3BGnUdEaBQS3h/1hKyBOt7rEBq5Bsohj+qiD9Rssi1uxOXkMSotA6qfrtiJn6u766cJqPxiVmpw78/JnuC+85aSady8AqRabzvdgdxqTATiGX9l8crP4Vbg7QR0dzrBO950TZhSrrYejxhCY2vCgUoLtQl1mYhZpPQf0OXi+sDzkX1/5XRpIqPxkfRN3wbCRCb59ITQCBTk0MVsX3y3oBGTJesGsvo77qfl0t88VbABoQR3SNnq973scXDiUs1bo+i+IsAqgopWDqRT83J62WYVXedbsHdGdhhEQJia76rSZ3KCtx8VKACT8j0EiL2GOHN2IJv0vSdQCCT82JFopIJ8wWlMsloMtLcS5wmhHHkx3PGldwqd9MyJWBQzuVjco91Dvv9/brnauInWtHotJPfPEhibuGwX7Z8onisrpQoQD25L8awyqq4SrxfdQ8H+3gAsLk8t+8xfii7ueLcTmvOEljVXQY8IvzqsXGo12aKdRICuc/BIET+KLx6Wix9kKtWJa1xlgbYubiSo9zCUqBKmXneQMbaQffmnH6N+IExDv1Uh3Y6KdG+4N6+1MepFeAkNXxg8M/cKE9AC0qrt3hYqUPq0hQ68+Y4YVf+IcyHqIcvU6jQpcolTEszAnyuXo1wziOxJE8+0Ez1Gh8CG1tTdfSdMMVt84= 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)(376002)(396003)(136003)(39860400002)(346002)(36840700001)(46966006)(26005)(86362001)(7696005)(52536014)(81166007)(82740400003)(54906003)(6506007)(53546011)(186003)(55016002)(110136005)(36860700001)(47076005)(966005)(33656002)(83380400001)(9686003)(30864003)(19627235002)(70586007)(336012)(4326008)(82310400003)(2906002)(5660300002)(70206006)(316002)(8676002)(478600001)(8936002)(356005);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2021 21:28:50.0365 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 14623c39-3e85-40c2-f14d-08d8fdf9f6ca 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: VE1EUR03FT020.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6185 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable 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 Fas= t > 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 rese= rved.+ * > Copyright (c) 2019 - 2021, ARM Limited. All rights reserved. * Copyrigh= t (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 s= ome "+ > "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 righ= ts > reserved. * Copyright (c) 2015-2016, Red Hat, Inc.- * Copyright (c) 20= 14- > 2020, ARM Ltd. All rights reserved.+ * Copyright (c) 2014-2021, ARM Ltd.= All > rights reserved. * Copyright (c) 2004-2016, Intel Corporation. All righ= ts > 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 Discov= rey > (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 Disco= vrey > (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.