[edk2-devel] [PATCH v5 1/1] MdeModulePkg: Add BootDiscoveryPolicyUiLib.

Sunny Wang Sunny.Wang at arm.com
Tue Aug 3 03:02:48 UTC 2021


Ditto. v5 looks good to me as well, so keep my 'R-b' for v5.
Thanks for helping on this, Hao. :)

Best Regards,
Sunny Wang

-----Original Message-----
From: Gao, Zhichao <zhichao.gao at intel.com>
Sent: Tuesday, August 3, 2021 10:25 AM
To: Wu, Hao A <hao.a.wu at intel.com>; devel at edk2.groups.io; gjb at semihalf.com; Sunny Wang <Sunny.Wang at arm.com>
Cc: leif at nuviainc.com; ardb+tianocore at kernel.org; Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud at arm.com>; mw at semihalf.com; upstream at semihalf.com; pete at akeo.ie; Wang, Jian J <jian.j.wang at intel.com>; Bi, Dandan <dandan.bi at intel.com>; Dong, Eric <eric.dong at intel.com>
Subject: RE: [edk2-devel] [PATCH v5 1/1] MdeModulePkg: Add BootDiscoveryPolicyUiLib.

No. Please keep my 'R-b' for v5.

Thanks,
Zhichao

> -----Original Message-----
> From: Wu, Hao A <hao.a.wu at intel.com>
> Sent: Tuesday, August 3, 2021 8:01 AM
> To: devel at edk2.groups.io; gjb at semihalf.com; Gao, Zhichao
> <zhichao.gao at intel.com>; sunny.Wang at arm.com
> Cc: leif at nuviainc.com; ardb+tianocore at kernel.org; Samer.El-Haj-
> Mahmoud at arm.com; mw at semihalf.com; upstream at semihalf.com;
> pete at akeo.ie; Wang, Jian J <jian.j.wang at intel.com>; Bi, Dandan
> <dandan.bi at intel.com>; Dong, Eric <eric.dong at intel.com>
> Subject: RE: [edk2-devel] [PATCH v5 1/1] MdeModulePkg: Add
> BootDiscoveryPolicyUiLib.
>
> Thanks Greg, the new patch pass all the merging tests:
> https://github.com/tianocore/edk2/pull/1858.
>
> Hello Zhichao and Sunny Wang,
> Do you have comments for this new version of the patch? If not, I will keep
> your 'R-b' tags from V4. Thanks in advance.
>
> Best Regards,
> Hao Wu
>
> > -----Original Message-----
> > From: devel at edk2.groups.io <devel at edk2.groups.io> On Behalf Of
> > Grzegorz Bernacki
> > Sent: Monday, August 2, 2021 8:19 PM
> > To: devel at edk2.groups.io
> > Cc: leif at nuviainc.com; ardb+tianocore at kernel.org; Samer.El-Haj-
> > Mahmoud at arm.com; sunny.Wang at arm.com; mw at semihalf.com;
> > upstream at semihalf.com; pete at akeo.ie; Wang, Jian J
> > <jian.j.wang at intel.com>; Wu, Hao A <hao.a.wu at intel.com>; Bi, Dandan
> > <dandan.bi at intel.com>; Dong, Eric <eric.dong at intel.com>; Grzegorz
> > Bernacki <gjb at semihalf.com>; Gao, Zhichao <zhichao.gao at intel.com>
> > Subject: [edk2-devel] [PATCH v5 1/1] MdeModulePkg: Add
> > BootDiscoveryPolicyUiLib.
> >
> > This library extends Boot Maintenance Menu and allows to select Boot
> > Discovery Policy. When choice is made BootDiscoveryPolicy variable is set.
> > Platform code can use this variable to decide which class of device
> > shall be connected.
> >
> > Signed-off-by: Grzegorz Bernacki <gjb at semihalf.com>
> > Reviewed-by: Zhichao Gao <zhichao.gao at intel.com>
> > ---
> >  MdeModulePkg/MdeModulePkg.dec                                                     |   9 ++
> >  MdeModulePkg/MdeModulePkg.dsc                                                     |   2 +
> >
> >
> MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolicyUiLib
> > .inf
> > |  52 +++++++
> >  MdeModulePkg/Include/Guid/BootDiscoveryPolicy.h                                   |
> 22
> > +++
> >
> >
> MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolicyUiLib
> > .c
> > | 160 ++++++++++++++++++++
> >
> >
> MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolicyUiLib
> > .uni
> > |  18 +++
> >
> >
> MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolicyUiLib
> > Stri
> > ngs.uni |  29 ++++
> >
> >
> MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolicyUiLib
> Vfr.
> > Vfr     |  44 ++++++
> >  8 files changed, 336 insertions(+)
> >  create mode 100644
> >
> MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolicyUiLib
> > .inf  create mode 100644
> > MdeModulePkg/Include/Guid/BootDiscoveryPolicy.h
> >  create mode 100644
> >
> MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolicyUiLib
> > .c
> >  create mode 100644
> >
> MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolicyUiLib
> > .uni
> >  create mode 100644
> >
> MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolicyUiLib
> > Stri
> > ngs.uni
> >  create mode 100644
> >
> MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolicyUiLib
> Vfr.
> > Vfr
> >
> > diff --git a/MdeModulePkg/MdeModulePkg.dec
> > b/MdeModulePkg/MdeModulePkg.dec index ad84421cf3..133e04ee86
> 100644
> > --- a/MdeModulePkg/MdeModulePkg.dec
> > +++ b/MdeModulePkg/MdeModulePkg.dec
> > @@ -425,6 +425,9 @@
> >    ## Include/UniversalPayload/SerialPortInfo.h
> >    gUniversalPayloadSerialPortInfoGuid = { 0xaa7e190d, 0xbe21, 0x4409,
> > { 0x8e, 0x67, 0xa2, 0xcd, 0xf, 0x61, 0xe1, 0x70 } }
> >
> > +  ## GUID used for Boot Discovery Policy FormSet guid and related
> variables.
> > +  gBootDiscoveryPolicyMgrFormsetGuid = { 0x5b6f7107, 0xbb3c, 0x4660,
> > + { 0x92, 0xcd, 0x54, 0x26, 0x90, 0x28, 0x0b, 0xbd } }
> > +
> >  [Ppis]
> >    ## Include/Ppi/AtaController.h
> >    gPeiAtaControllerPpiGuid       = { 0xa45e60d1, 0xc719, 0x44aa, { 0xb0, 0x7a,
> > 0xaa, 0x77, 0x7f, 0x85, 0x90, 0x6d }}
> > @@ -1600,6 +1603,12 @@
> >    # @Prompt Console Output Row of Text Setup
> >
> >
> gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutRow|25|UINT32|0x40
> 000
> > 00e
> >
> > +  ## Specify the Boot Discovery Policy settings  # To support
> > + configuring from setup page, this PCD should be overridden in
> > + DynamicHii type
> > in its platform .dsc:
> > +  #
> > +
> >
> gEfiMdeModulePkgTokenSpaceGuid.PcdBootDiscoveryPolicy|L"BootDiscove
> ryP
> > + olicy"|gBootDiscoveryPolicyMgrFormsetGuid|0
> > +  # @Prompt Boot Discovery Policy
> > +
> > +
> >
> gEfiMdeModulePkgTokenSpaceGuid.PcdBootDiscoveryPolicy|2|UINT32|0x4
> 000
> > 0
> > + 00f
> > +
> >  [PcdsFixedAtBuild.AARCH64, PcdsPatchableInModule.AARCH64]
> >
> >
> gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiExposedTableVersions|0x20|UI
> NT3
> > 2|0x0001004c
> >
> > diff --git a/MdeModulePkg/MdeModulePkg.dsc
> > b/MdeModulePkg/MdeModulePkg.dsc index 132fb36d95..b1d8346186
> 100644
> > --- a/MdeModulePkg/MdeModulePkg.dsc
> > +++ b/MdeModulePkg/MdeModulePkg.dsc
> > @@ -220,6 +220,7 @@
> >    MdeModulePkg/Logo/Logo.inf
> >    MdeModulePkg/Logo/LogoDxe.inf
> >    MdeModulePkg/Library/BaseSortLib/BaseSortLib.inf
> > +
> > +
> MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolicyUiL
> > + ib
> > + .inf
> >
> >
> MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenance
> Man
> > agerUiLib.inf
> >    MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
> >    MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
> > @@ -341,6 +342,7 @@
> >    MdeModulePkg/Application/UiApp/UiApp.inf{
> >      <LibraryClasses>
> >
> >
> NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
> > +
> > +
> NULL|MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPoli
> > + NULL|cy
> > + UiLib.inf
> >
> NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
> >
> >
> NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMainte
> nan
> > ceManagerUiLib.inf
> >    }
> > diff --git
> >
> a/MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolicyUiL
> > ib.i
> > nf
> >
> b/MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolicyUiL
> > ib.i
> > nf
> > new file mode 100644
> > index 0000000000..1fb4d43caa
> > --- /dev/null
> > +++
> b/MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolic
> > +++ yU
> > +++ iLib.inf
> > @@ -0,0 +1,52 @@
> > +## @file
> > +#  Library for BDS phase to use Boot Discovery Policy # #  Copyright
> > +(c) 2021, ARM Ltd. All rights reserved.<BR> #  Copyright (c) 2021,
> > +Semihalf All rights reserved.<BR> #  SPDX-License-Identifier:
> > +BSD-2-Clause-Patent # ##
> > +
> > +[Defines]
> > +  INF_VERSION                    = 0x00010005
> > +  BASE_NAME                      = BootDiscoveryPolicyUiLib
> > +  MODULE_UNI_FILE                = BootDiscoveryPolicyUiLib.uni
> > +  FILE_GUID                      = BE73105A-B13D-4B57-A41A-463DBD15FE10
> > +  MODULE_TYPE                    = DXE_DRIVER
> > +  VERSION_STRING                 = 1.0
> > +  LIBRARY_CLASS                  = NULL|DXE_DRIVER UEFI_APPLICATION
> > +  CONSTRUCTOR                    = BootDiscoveryPolicyUiLibConstructor
> > +  DESTRUCTOR                     = BootDiscoveryPolicyUiLibDestructor
> > +#
> > +# The following information is for reference only and not required by
> > +the build
> > tools.
> > +#
> > +#  VALID_ARCHITECTURES           = IA32 X64 AARCH64
> > +#
> > +
> > +[Sources]
> > +  BootDiscoveryPolicyUiLib.c
> > +  BootDiscoveryPolicyUiLibStrings.uni
> > +  BootDiscoveryPolicyUiLibVfr.Vfr
> > +
> > +[Packages]
> > +  MdePkg/MdePkg.dec
> > +  MdeModulePkg/MdeModulePkg.dec
> > +
> > +[LibraryClasses]
> > +  DevicePathLib
> > +  BaseLib
> > +  UefiRuntimeServicesTableLib
> > +  UefiBootServicesTableLib
> > +  DebugLib
> > +  HiiLib
> > +  UefiLib
> > +  BaseMemoryLib
> > +
> > +[Guids]
> > +  gBootDiscoveryPolicyMgrFormsetGuid
> > +
> > +[Pcd]
> > +  gEfiMdeModulePkgTokenSpaceGuid.PcdBootDiscoveryPolicy  ##
> PRODUCES
> > +
> > +[Depex]
> > +  gEfiHiiDatabaseProtocolGuid AND gPcdProtocolGuid
> > diff --git a/MdeModulePkg/Include/Guid/BootDiscoveryPolicy.h
> > b/MdeModulePkg/Include/Guid/BootDiscoveryPolicy.h
> > new file mode 100644
> > index 0000000000..06e38921a0
> > --- /dev/null
> > +++ b/MdeModulePkg/Include/Guid/BootDiscoveryPolicy.h
> > @@ -0,0 +1,22 @@
> > +/** @file
> > +  Definition for structure & defines exported by Boot Discovery
> > +Policy UI
> > +
> > +  Copyright (c) 2021, ARM Ltd. All rights reserved.<BR>  Copyright
> > + (c) 2021, Semihalf All rights reserved.<BR>
> > +
> > +  SPDX-License-Identifier: BSD-2-Clause-Patent
> > +
> > +**/
> > +
> > +#ifndef BOOT_DISCOVERY_POLICY_UI_LIB_H_ #define
> > +BOOT_DISCOVERY_POLICY_UI_LIB_H_
> > +
> > +#define BDP_CONNECT_MINIMAL 0  /* Do not connect any additional
> > +devices
> > */
> > +#define BDP_CONNECT_NET     1
> > +#define BDP_CONNECT_ALL     2
> > +
> > +#define BOOT_DISCOVERY_POLICY_MGR_FORMSET_GUID  { 0x5b6f7107,
> > 0xbb3c,
> > +0x4660, { 0x92, 0xcd, 0x54, 0x26, 0x90, 0x28, 0x0b, 0xbd } }
> > +
> > +#define BOOT_DISCOVERY_POLICY_VAR L"BootDiscoveryPolicy"
> > +
> > +#endif
> > diff --git
> >
> a/MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolicyUiLi
> b.
> > c
> >
> b/MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolicyUiLi
> b.
> > c
> > new file mode 100644
> > index 0000000000..615958799c
> > --- /dev/null
> > +++
> b/MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolic
> > +++ yU
> > +++ iLib.c
> > @@ -0,0 +1,160 @@
> > +/** @file
> > +  Boot Discovery Policy UI for Boot Maintenance menu.
> > +
> > +  Copyright (c) 2021, ARM Ltd. All rights reserved.<BR>  Copyright
> > + (c) 2021, Semihalf All rights reserved.<BR>
> > +
> > +  SPDX-License-Identifier: BSD-2-Clause-Patent
> > +
> > +**/
> > +
> > +#include <Guid/BootDiscoveryPolicy.h> #include
> > +<Library/UefiDriverEntryPoint.h> #include
> > +<Library/UefiBootServicesTableLib.h>
> > +#include <Library/UefiRuntimeServicesTableLib.h>
> > +#include <Library/BaseLib.h>
> > +#include <Library/DevicePathLib.h>
> > +#include <Library/DebugLib.h>
> > +#include <Library/HiiLib.h>
> > +#include <Library/UefiLib.h>
> > +#include <Library/BaseMemoryLib.h>
> > +#include <Include/Library/PcdLib.h>
> > +
> > +///
> > +/// HII specific Vendor Device Path definition.
> > +///
> > +typedef struct {
> > +  VENDOR_DEVICE_PATH             VendorDevicePath;
> > +  EFI_DEVICE_PATH_PROTOCOL       End;
> > +} HII_VENDOR_DEVICE_PATH;
> > +
> > +extern UINT8 BootDiscoveryPolicyUiLibVfrBin[];
> > +
> > +EFI_HII_HANDLE  mBPHiiHandle = NULL;
> > +EFI_HANDLE      mBPDriverHandle = NULL;
> > +
> > +STATIC HII_VENDOR_DEVICE_PATH mVendorDevicePath = {
> > +  {
> > +    {
> > +      HARDWARE_DEVICE_PATH,
> > +      HW_VENDOR_DP,
> > +      {
> > +        (UINT8)(sizeof (VENDOR_DEVICE_PATH)),
> > +        (UINT8)((sizeof (VENDOR_DEVICE_PATH)) >> 8)
> > +      }
> > +    },
> > +    BOOT_DISCOVERY_POLICY_MGR_FORMSET_GUID
> > +  },
> > +  {
> > +    END_DEVICE_PATH_TYPE,
> > +    END_ENTIRE_DEVICE_PATH_SUBTYPE,
> > +    {
> > +      (UINT8)(END_DEVICE_PATH_LENGTH),
> > +      (UINT8)((END_DEVICE_PATH_LENGTH) >> 8)
> > +    }
> > +  }
> > +};
> > +
> > +/**
> > +
> > +  Initialize Boot Maintenance Menu library.
> > +
> > +  @param ImageHandle     The image handle.
> > +  @param SystemTable     The system table.
> > +
> > +  @retval  EFI_SUCCESS  Install Boot manager menu success.
> > +  @retval  Other        Return error status.gBPDisplayLibGuid
> > +
> > +**/
> > +EFI_STATUS
> > +EFIAPI
> > +BootDiscoveryPolicyUiLibConstructor (
> > +  IN EFI_HANDLE                            ImageHandle,
> > +  IN EFI_SYSTEM_TABLE                      *SystemTable
> > +  )
> > +{
> > +  EFI_STATUS                Status;
> > +  UINTN                     Size;
> > +  UINT32                    BootDiscoveryPolicy;
> > +
> > +  Size = sizeof (UINT32);
> > +  Status = gRT->GetVariable (
> > +                  BOOT_DISCOVERY_POLICY_VAR,
> > +                  &gBootDiscoveryPolicyMgrFormsetGuid,
> > +                  NULL,
> > +                  &Size,
> > +                  &BootDiscoveryPolicy
> > +                  );
> > +  if (EFI_ERROR (Status)) {
> > +    Status = PcdSet32S (PcdBootDiscoveryPolicy, PcdGet32
> > (PcdBootDiscoveryPolicy));
> > +    ASSERT_EFI_ERROR (Status);
> > +  }
> > +
> > +  Status = gBS->InstallMultipleProtocolInterfaces (
> > +                  &mBPDriverHandle,
> > +                  &gEfiDevicePathProtocolGuid,
> > +                  &mVendorDevicePath,
> > +                  NULL
> > +                  );
> > +  if (EFI_ERROR (Status)) {
> > +    return Status;
> > +  }
> > +
> > +  //
> > +  // Publish our HII data
> > +  //
> > +  mBPHiiHandle = HiiAddPackages (
> > +                   &gBootDiscoveryPolicyMgrFormsetGuid,
> > +                   mBPDriverHandle,
> > +                   BootDiscoveryPolicyUiLibVfrBin,
> > +                   BootDiscoveryPolicyUiLibStrings,
> > +                   NULL
> > +                   );
> > +  if (mBPHiiHandle == NULL) {
> > +    gBS->UninstallMultipleProtocolInterfaces (
> > +           mBPDriverHandle,
> > +           &gEfiDevicePathProtocolGuid,
> > +           &mVendorDevicePath,
> > +           NULL
> > +           );
> > +
> > +    return EFI_OUT_OF_RESOURCES;
> > +  }
> > +
> > +  return EFI_SUCCESS;
> > +}
> > +
> > +/**
> > +  Destructor of Boot Maintenance menu library.
> > +
> > +  @param  ImageHandle   The firmware allocated handle for the EFI image.
> > +  @param  SystemTable   A pointer to the EFI System Table.
> > +
> > +  @retval EFI_SUCCESS   The destructor completed successfully.
> > +  @retval Other value   The destructor did not complete successfully.
> > +
> > +**/
> > +EFI_STATUS
> > +EFIAPI
> > +BootDiscoveryPolicyUiLibDestructor (
> > +  IN EFI_HANDLE        ImageHandle,
> > +  IN EFI_SYSTEM_TABLE  *SystemTable
> > +  )
> > +{
> > +
> > +  if (mBPDriverHandle != NULL) {
> > +    gBS->UninstallProtocolInterface (
> > +           mBPDriverHandle,
> > +           &gEfiDevicePathProtocolGuid,
> > +           &mVendorDevicePath
> > +           );
> > +    mBPDriverHandle = NULL;
> > +  }
> > +
> > +  if (mBPHiiHandle != NULL) {
> > +    HiiRemovePackages (mBPHiiHandle);
> > +    mBPHiiHandle = NULL;
> > +  }
> > +
> > +  return EFI_SUCCESS;
> > +}
> > diff --git
> >
> a/MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolicyUiLi
> b.
> > uni
> >
> b/MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolicyUiLi
> b.
> > uni
> > new file mode 100644
> > index 0000000000..eea3ca6c8d
> > --- /dev/null
> > +++
> b/MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolic
> > +++ yU
> > +++ iLib.uni
> > @@ -0,0 +1,18 @@
> > +// /** @file
> > +// Boot Discovery Policy UI module.
> > +//
> > +// Copyright (c) 2021, ARM Ltd. All rights reserved.<BR> // Copyright
> > +(c) 2021, Semihalf All rights reserved.<BR> // //
> > +SPDX-License-Identifier: BSD-2-Clause-Patent // // **/
> > +
> > +
> > +#string STR_MODULE_ABSTRACT
> > +#language en-US "Boot Discovery Policy UI module."
> > +
> > +#string STR_MODULE_DESCRIPTION
> > +#language en-US "Boot Discovery Policy UI module."
> > +
> > +
> > diff --git
> >
> a/MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolicyUiL
> > ibS
> > trings.uni
> >
> b/MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolicyUiL
> > ibS
> > trings.uni
> > new file mode 100644
> > index 0000000000..736011c9bb
> > --- /dev/null
> > +++
> b/MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolic
> > +++ yU
> > +++ iLibStrings.uni
> > @@ -0,0 +1,29 @@
> > +// *++
> > +//
> > +//  Copyright (c) 2021, ARM Ltd. All rights reserved.<BR> //
> > +Copyright
> > +(c) 2021, Semihalf All rights reserved.<BR> //
> > +SPDX-License-Identifier: BSD-2-Clause-Patent // //  Module Name:
> > +//
> > +//   BootDiscoveryPolicyUiLibStrings.uni
> > +//
> > +//  Abstract:
> > +//
> > +//    String definitions for Boot Discovery Policy UI.
> > +//
> > +// --*/
> > +
> > +/=#
> > +
> > +
> > +#langdef en-US "English"
> > +
> > +#string STR_FORM_BDP_MAIN_TITLE        #language en-US  "Boot
> Discovery
> > Policy"
> > +
> > +#string STR_FORM_BDP_CONN_MIN          #language en-US  "Minimal"
> > +
> > +#string STR_FORM_BDP_CONN_NET          #language en-US  "Connect
> Network
> > Devices"
> > +
> > +#string STR_FORM_BDP_CONN_ALL          #language en-US  "Connect All
> > Devices"
> > +
> > diff --git
> >
> a/MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolicyUiL
> > ibV
> > fr.Vfr
> >
> b/MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolicyUiL
> > ibV
> > fr.Vfr
> > new file mode 100644
> > index 0000000000..0de87ec34f
> > --- /dev/null
> > +++
> b/MdeModulePkg/Library/BootDiscoveryPolicyUiLib/BootDiscoveryPolic
> > +++ yU
> > +++ iLibVfr.Vfr
> > @@ -0,0 +1,44 @@
> > +///** @file
> > +//
> > +//  Formset for Boot Discovery Policy UI // //  Copyright (c) 2021,
> > +ARM Ltd. All rights reserved.<BR> //  Copyright (c) 2021, Semihalf
> > +All rights reserved.<BR> // //  SPDX-License-Identifier:
> > +BSD-2-Clause-Patent // //**/
> > +
> > +#include <Uefi/UefiMultiPhase.h>
> > +#include "Guid/BootDiscoveryPolicy.h"
> > +#include <Guid/HiiBootMaintenanceFormset.h>
> > +
> > +typedef struct {
> > +  UINT32 BootDiscoveryPolicy;
> > +} BOOT_DISCOVERY_POLICY_VARSTORE_DATA;
> > +
> > +formset
> > +  guid      = BOOT_DISCOVERY_POLICY_MGR_FORMSET_GUID,
> > +  title     = STRING_TOKEN(STR_FORM_BDP_MAIN_TITLE),
> > +  help      = STRING_TOKEN(STR_FORM_BDP_MAIN_TITLE),
> > +  classguid = EFI_IFR_BOOT_MAINTENANCE_GUID,
> > +
> > +  efivarstore BOOT_DISCOVERY_POLICY_VARSTORE_DATA,
> > +    attribute = EFI_VARIABLE_BOOTSERVICE_ACCESS |
> > EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,
> > +    name  = BootDiscoveryPolicy,
> > +    guid  = BOOT_DISCOVERY_POLICY_MGR_FORMSET_GUID;
> > +
> > +  form formid = 0x0001,
> > +    title  = STRING_TOKEN(STR_FORM_BDP_MAIN_TITLE);
> > +
> > +  oneof varid = BootDiscoveryPolicy.BootDiscoveryPolicy,
> > +    prompt      = STRING_TOKEN(STR_FORM_BDP_MAIN_TITLE),
> > +    help        = STRING_TOKEN(STR_FORM_BDP_MAIN_TITLE),
> > +    flags       = NUMERIC_SIZE_4 | INTERACTIVE | RESET_REQUIRED,
> > +    option text = STRING_TOKEN(STR_FORM_BDP_CONN_MIN), value =
> > BDP_CONNECT_MINIMAL, flags = DEFAULT;
> > +    option text = STRING_TOKEN(STR_FORM_BDP_CONN_NET), value =
> > BDP_CONNECT_NET, flags = 0;
> > +    option text = STRING_TOKEN(STR_FORM_BDP_CONN_ALL), value =
> > + BDP_CONNECT_ALL, flags = 0;  endoneof;
> > +
> > +  endform;
> > +endformset;
> > --
> > 2.25.1
> >
> >
> >
> > 
> >

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please 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.


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#78534): https://edk2.groups.io/g/devel/message/78534
Mute This Topic: https://groups.io/mt/84609666/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-






More information about the edk2-devel-archive mailing list