Re: [edk2-devel] [PATCH v2 1/1] Platform/RaspberryPi: Setup option for disabling Fast Boot

2021-04-15 Thread Ard Biesheuvel
On Tue, 13 Apr 2021 at 17:24, Pete Batard  wrote:
>
> On 2021.04.13 16:22, Ard Biesheuvel wrote:
> > On Tue, 13 Apr 2021 at 14:13, Pete Batard  wrote:
> >>
> >> Thanks for the v2. Everything looks good now.
> >>
> >> On 2021.04.13 08:14, Sunny Wang wrote:
> >>> 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: Sami Mujawar 
> >>> 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   | 16 +++-
> >>>Platform/RaspberryPi/Include/ConfigVars.h| 12 +++-
> >>>.../Library/PlatformBootManagerLib/PlatformBm.c  | 15 +--
> >>>.../PlatformBootManagerLib.inf   |  1 +
> >>>Platform/RaspberryPi/RPi3/RPi3.dsc   |  9 -
> >>>Platform/RaspberryPi/RPi4/RPi4.dsc   |  9 -
> >>>Platform/RaspberryPi/RaspberryPi.dec |  2 ++
> >>>10 files changed, 79 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 = sizeof (UINT32);
> >>> +  Status = gRT->GetVariable (L"BootPolicy",
> >>> +  ,
> >>> +  NULL, , );
> >>> +  if (EFI_ERROR (Status)) {
> >>> +Status = PcdSet32S (PcdBootPolicy, PcdGet32 (PcdBootPolicy));
> >>> +ASSERT_EFI_ERROR (Status);
> >>> +  }
> >>> +
> >>>  Size = sizeof (UINT32);
> >>>  Status = gRT->GetVariable (L"SdIsArasan",
> >>>  ,
> >>> 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 gRaspberryPiFirmwareProtocolGuid
> >>> diff --git a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni 
> >>> b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni
> >>> index 466fa852cb..81761d64bb 100644
> >>> --- 

Re: [edk2-devel] [PATCH v2 1/1] Platform/RaspberryPi: Setup option for disabling Fast Boot

2021-04-13 Thread Pete Batard

On 2021.04.13 16:22, Ard Biesheuvel wrote:

On Tue, 13 Apr 2021 at 14:13, Pete Batard  wrote:


Thanks for the v2. Everything looks good now.

On 2021.04.13 08:14, Sunny Wang wrote:

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: Sami Mujawar 
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   | 16 +++-
   Platform/RaspberryPi/Include/ConfigVars.h| 12 +++-
   .../Library/PlatformBootManagerLib/PlatformBm.c  | 15 +--
   .../PlatformBootManagerLib.inf   |  1 +
   Platform/RaspberryPi/RPi3/RPi3.dsc   |  9 -
   Platform/RaspberryPi/RPi4/RPi4.dsc   |  9 -
   Platform/RaspberryPi/RaspberryPi.dec |  2 ++
   10 files changed, 79 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 = sizeof (UINT32);
+  Status = gRT->GetVariable (L"BootPolicy",
+  ,
+  NULL, , );
+  if (EFI_ERROR (Status)) {
+Status = PcdSet32S (PcdBootPolicy, PcdGet32 (PcdBootPolicy));
+ASSERT_EFI_ERROR (Status);
+  }
+
 Size = sizeof (UINT32);
 Status = gRT->GetVariable (L"SdIsArasan",
 ,
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 gRaspberryPiFirmwareProtocolGuid
diff --git a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni 
b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni
index 466fa852cb..81761d64bb 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 

Re: [edk2-devel] [PATCH v2 1/1] Platform/RaspberryPi: Setup option for disabling Fast Boot

2021-04-13 Thread Ard Biesheuvel
On Tue, 13 Apr 2021 at 14:13, Pete Batard  wrote:
>
> Thanks for the v2. Everything looks good now.
>
> On 2021.04.13 08:14, Sunny Wang wrote:
> > 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: Sami Mujawar 
> > 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   | 16 +++-
> >   Platform/RaspberryPi/Include/ConfigVars.h| 12 +++-
> >   .../Library/PlatformBootManagerLib/PlatformBm.c  | 15 +--
> >   .../PlatformBootManagerLib.inf   |  1 +
> >   Platform/RaspberryPi/RPi3/RPi3.dsc   |  9 -
> >   Platform/RaspberryPi/RPi4/RPi4.dsc   |  9 -
> >   Platform/RaspberryPi/RaspberryPi.dec |  2 ++
> >   10 files changed, 79 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 = sizeof (UINT32);
> > +  Status = gRT->GetVariable (L"BootPolicy",
> > +  ,
> > +  NULL, , );
> > +  if (EFI_ERROR (Status)) {
> > +Status = PcdSet32S (PcdBootPolicy, PcdGet32 (PcdBootPolicy));
> > +ASSERT_EFI_ERROR (Status);
> > +  }
> > +
> > Size = sizeof (UINT32);
> > Status = gRT->GetVariable (L"SdIsArasan",
> > ,
> > 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 gRaspberryPiFirmwareProtocolGuid
> > diff --git a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni 
> > b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni
> > index 466fa852cb..81761d64bb 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: 

Re: [edk2-devel] [PATCH v2 1/1] Platform/RaspberryPi: Setup option for disabling Fast Boot

2021-04-13 Thread Pete Batard

Thanks for the v2. Everything looks good now.

On 2021.04.13 08:14, Sunny Wang wrote:

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: Sami Mujawar 
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   | 16 +++-
  Platform/RaspberryPi/Include/ConfigVars.h| 12 +++-
  .../Library/PlatformBootManagerLib/PlatformBm.c  | 15 +--
  .../PlatformBootManagerLib.inf   |  1 +
  Platform/RaspberryPi/RPi3/RPi3.dsc   |  9 -
  Platform/RaspberryPi/RPi4/RPi4.dsc   |  9 -
  Platform/RaspberryPi/RaspberryPi.dec |  2 ++
  10 files changed, 79 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 = sizeof (UINT32);

+  Status = gRT->GetVariable (L"BootPolicy",
+  ,
+  NULL, , );
+  if (EFI_ERROR (Status)) {
+Status = PcdSet32S (PcdBootPolicy, PcdGet32 (PcdBootPolicy));
+ASSERT_EFI_ERROR (Status);
+  }
+
Size = sizeof (UINT32);
Status = gRT->GetVariable (L"SdIsArasan",
,
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 gRaspberryPiFirmwareProtocolGuid
diff --git a/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni 
b/Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.uni
index 466fa852cb..81761d64bb 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 discovered for reducing "
+  "the boot time. "
+