Ray,

Any update on this?

Thanks
Ashish
________________________________
From: Ashish Singhal <ashishsin...@nvidia.com>
Sent: Tuesday, May 17, 2022 10:08 AM
To: Ni, Ray <ray...@intel.com>; devel@edk2.groups.io <devel@edk2.groups.io>; 
Wang, Jian J <jian.j.w...@intel.com>; Gao, Liming <gaolim...@byosoft.com.cn>; 
Gao, Zhichao <zhichao....@intel.com>
Subject: Re: [edk2-devel] [PATCH] MdeModulePkg/UefiBootManagerLib: Configurable 
New Boot Options

Ray,

Won't that mean changing UEFI UI and boot maintenance manager applications as 
well to make this call? If we do not do that, the applications would not 
reflect the sorted boot order automatically.

Considering this, the change I have is pretty small and takes care of all 
scenarios. Please let me know what you think.

Thanks
Ashish
________________________________
From: Ni, Ray <ray...@intel.com>
Sent: Tuesday, May 17, 2022 8:11 AM
To: devel@edk2.groups.io <devel@edk2.groups.io>; Ashish Singhal 
<ashishsin...@nvidia.com>; Wang, Jian J <jian.j.w...@intel.com>; Gao, Liming 
<gaolim...@byosoft.com.cn>; Gao, Zhichao <zhichao....@intel.com>
Subject: RE: [edk2-devel] [PATCH] MdeModulePkg/UefiBootManagerLib: Configurable 
New Boot Options

External email: Use caution opening links or attachments


Please use the EfiBootManagerSortLoadOptionVariable() to sort the boot options 
from PlatformBootManagerLib.


> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Ashish Singhal 
> via groups.io
> Sent: Tuesday, May 17, 2022 7:02 AM
> To: devel@edk2.groups.io; Wang, Jian J <jian.j.w...@intel.com>; Gao, Liming 
> <gaolim...@byosoft.com.cn>; Gao, Zhichao
> <zhichao....@intel.com>; Ni, Ray <ray...@intel.com>
> Cc: Ashish Singhal <ashishsin...@nvidia.com>
> Subject: [edk2-devel] [PATCH] MdeModulePkg/UefiBootManagerLib: Configurable 
> New Boot Options
>
> Add a new PCD to be able to configure whether newly detected boot options
> are to be added at the beginning of the current boot options list or at
> the end.
>
> Signed-off-by: Ashish Singhal <ashishsin...@nvidia.com>
> ---
>  MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c            | 6 +++++-
>  .../Library/UefiBootManagerLib/UefiBootManagerLib.inf       | 1 +
>  MdeModulePkg/MdeModulePkg.dec                               | 5 +++++
>  MdeModulePkg/MdeModulePkg.uni                               | 4 ++++
>  4 files changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c 
> b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
> index 962892d38f..8a46100c2a 100644
> --- a/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
> +++ b/MdeModulePkg/Library/UefiBootManagerLib/BmBoot.c
> @@ -2435,7 +2435,11 @@ EfiBootManagerRefreshAllBootOption (
>    //
>    for (Index = 0; Index < BootOptionCount; Index++) {
>      if (EfiBootManagerFindLoadOption (&BootOptions[Index], NvBootOptions, 
> NvBootOptionCount) == -1) {
> -      EfiBootManagerAddLoadOptionVariable (&BootOptions[Index], (UINTN)-1);
> +      if (PcdGetBool (PcdNewBootOptionAtStart)) {
> +        EfiBootManagerAddLoadOptionVariable (&BootOptions[Index], 0);
> +      } else {
> +        EfiBootManagerAddLoadOptionVariable (&BootOptions[Index], (UINTN)-1);
> +      }
>        //
>        // Try best to add the boot options so continue upon failure.
>        //
> diff --git a/MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
> b/MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
> index fe05d5f1cc..46f41a7c63 100644
> --- a/MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
> +++ b/MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
> @@ -119,3 +119,4 @@
>    gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile                     
> ## CONSUMES
>    gEfiMdeModulePkgTokenSpaceGuid.PcdDriverHealthConfigureForm               
> ## SOMETIMES_CONSUMES
>    gEfiMdeModulePkgTokenSpaceGuid.PcdMaxRepairCount                          
> ## CONSUMES
> +  gEfiMdeModulePkgTokenSpaceGuid.PcdNewBootOptionAtStart                    
> ## CONSUMES
> diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
> index cf79292ec8..9d696f117b 100644
> --- a/MdeModulePkg/MdeModulePkg.dec
> +++ b/MdeModulePkg/MdeModulePkg.dec
> @@ -2146,6 +2146,11 @@
>    # @Prompt GHCB Pool Size
>    gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbSize|0|UINT64|0x00030008
>
> +  ## This dynamic PCD holds the flag to tell UEFI boot manager whether to 
> add newly detected devices at
> +  #  the end, or at the start of the boot option.
> +  # @Prompt Add new devices in boot options at start
> +  
> gEfiMdeModulePkgTokenSpaceGuid.PcdNewBootOptionAtStart|FALSE|BOOLEAN|0x00030009
> +
>  [PcdsDynamicEx]
>    ## This dynamic PCD enables the default variable setting.
>    #  Its value is the default store ID value. The default value is zero as 
> Standard default.
> diff --git a/MdeModulePkg/MdeModulePkg.uni b/MdeModulePkg/MdeModulePkg.uni
> index b070f15ff2..8e68db1c25 100644
> --- a/MdeModulePkg/MdeModulePkg.uni
> +++ b/MdeModulePkg/MdeModulePkg.uni
> @@ -1325,6 +1325,10 @@
>
>  #string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdGhcbBase_HELP #language en-US 
> "Used with SEV-ES support to identify
> an address range that is not to be encrypted."
>
> +#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdNewBootOptionAtStart_PROMPT 
> #language en-US "Add new devices in
> boot options at start"
> +
> +#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdNewBootOptionAtStart_HELP 
> #language en-US "Used by UEFI boot
> manager to decide whether to place newly detcted devices at start of the list 
> or end."
> +
>  #string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdGhcbSize_PROMPT #language 
> en-US "Guest-Hypervisor Communication
> Block (GHCB) Pool Base Size"
>
>  #string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdGhcbSize_HELP #language en-US 
> "Used with SEV-ES support to identify the
> size of the address range that is not to be encrypted."
> --
> 2.17.1
>
>
>
> 
>



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#89903): https://edk2.groups.io/g/devel/message/89903
Mute This Topic: https://groups.io/mt/91152684/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to