[edk2-devel] [patch 04/11] MdeModulePkg/Core: Remove PcdFrameworkCompatibilitySupport usage

Dandan Bi dandan.bi at intel.com
Mon May 6 02:48:22 UTC 2019


> -----Original Message-----
> From: Wu, Hao A
> Sent: Monday, May 6, 2019 9:23 AM
> To: devel at edk2.groups.io; Bi, Dandan <dandan.bi at intel.com>
> Cc: Gao, Liming <liming.gao at intel.com>
> Subject: RE: [edk2-devel] [patch 04/11] MdeModulePkg/Core: Remove
> PcdFrameworkCompatibilitySupport usage
> 
> > -----Original Message-----
> > From: devel at edk2.groups.io [mailto:devel at edk2.groups.io] On Behalf Of
> > Dandan Bi
> > Sent: Monday, April 29, 2019 10:16 AM
> > To: devel at edk2.groups.io
> > Cc: Gao, Liming
> > Subject: [edk2-devel] [patch 04/11] MdeModulePkg/Core: Remove
> > PcdFrameworkCompatibilitySupport usage
> >
> > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1464
> >
> > Currently Framework compatibility is not needed and
> > PcdFrameworkCompatibilitySupport will be removed from edk2.
> > So remove the usage of this PCD firstly.
> >
> > Cc: Liming Gao <liming.gao at intel.com>
> > Signed-off-by: Dandan Bi <dandan.bi at intel.com>
> > ---
> >  MdeModulePkg/Core/Dxe/DxeMain.inf   |   6 +-
> >  MdeModulePkg/Core/Dxe/Image/Image.c | 132
> > +---------------------------  MdeModulePkg/Core/Dxe/Image/Image.h |
> > 85 +-----------------  MdeModulePkg/Core/Pei/FwVol/FwVol.c |  65 ----------
> ----
> >  MdeModulePkg/Core/Pei/PeiMain.inf   |   1 -
> >  5 files changed, 3 insertions(+), 286 deletions(-)
> >
> > diff --git a/MdeModulePkg/Core/Dxe/DxeMain.inf
> > b/MdeModulePkg/Core/Dxe/DxeMain.inf
> > index 8dee5bee0a..61161bee28 100644
> > --- a/MdeModulePkg/Core/Dxe/DxeMain.inf
> > +++ b/MdeModulePkg/Core/Dxe/DxeMain.inf
> > @@ -1,11 +1,11 @@
> >  ## @file
> >  #  This is core module in DXE phase.
> >  #
> >  #  It provides an implementation of DXE Core that is compliant with DXE CIS.
> >  #
> > -#  Copyright (c) 2006 - 2018, Intel Corporation. All rights
> > reserved.<BR>
> > +#  Copyright (c) 2006 - 2019, Intel Corporation. All rights
> > +reserved.<BR>
> >  #  SPDX-License-Identifier: BSD-2-Clause-Patent  #  ##
> >
> >  [Defines]
> > @@ -130,11 +130,10 @@
> >
> >  [Protocols]
> >    ## PRODUCES
> >    ## SOMETIMES_CONSUMES
> >    gEfiDecompressProtocolGuid
> > -  gEfiLoadPeImageProtocolGuid                   ## SOMETIMES_PRODUCES   #
> > Produces when PcdFrameworkCompatibilitySupport is set
> 
> A couple of questions.
> 
> Is '#include <Protocol/LoadPe32Image.h>' in
> MdeModulePkg\Core\Dxe\DxeMain.h still needed?
> 
> Can we remove EFI_PE32_IMAGE_PROTOCOL altogether? Seems to me
> there is no other consumer within edk2.
> 
> Best Regards,
> Hao Wu

Hi Hao,

1. Yes,  since following definitions in <Protocol/LoadPe32Image.h> are still used in MdeModulePkg\Core\Dxe\Image\Image.c
#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_RUNTIME_REGISTRATION                 0x01
#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_DEBUG_IMAGE_INFO_TABLE_REGISTRATION  0x02

2. I also think we can remove this protocol, but I prefer a separate patch (not covered by this patch series) to remove it and solve the dependency issue in 1 together. Is it OK to you?

Thanks,
Dandan 
> 
> >    gEfiSimpleFileSystemProtocolGuid              ## SOMETIMES_CONSUMES
> >    gEfiLoadFileProtocolGuid                      ## SOMETIMES_CONSUMES
> >    gEfiLoadFile2ProtocolGuid                     ## SOMETIMES_CONSUMES
> >    gEfiBusSpecificDriverOverrideProtocolGuid     ## SOMETIMES_CONSUMES
> >    gEfiDriverFamilyOverrideProtocolGuid          ## SOMETIMES_CONSUMES
> > @@ -171,13 +170,10 @@
> >    gEfiVariableWriteArchProtocolGuid             ## CONSUMES
> >    gEfiVariableArchProtocolGuid                  ## CONSUMES
> >    gEfiCapsuleArchProtocolGuid                   ## CONSUMES
> >    gEfiWatchdogTimerArchProtocolGuid             ## CONSUMES
> >
> > -[FeaturePcd]
> > -
> gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport
> > ## CONSUMES
> > -
> >  [Pcd]
> >
> >
> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressBootTimeCodePage
> Nu
> > mber    ## SOMETIMES_CONSUMES
> >
> >
> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressRuntimeCodePageN
> um
> > ber     ## SOMETIMES_CONSUMES
> >    gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable
> > ## CONSUMES
> >
> gEfiMdeModulePkgTokenSpaceGuid.PcdMaxEfiSystemTablePointerAddress
> > ## CONSUMES
> > diff --git a/MdeModulePkg/Core/Dxe/Image/Image.c
> > b/MdeModulePkg/Core/Dxe/Image/Image.c
> > index de5b8bed27..22a87ecf6d 100644
> > --- a/MdeModulePkg/Core/Dxe/Image/Image.c
> > +++ b/MdeModulePkg/Core/Dxe/Image/Image.c
> > @@ -1,9 +1,9 @@
> >  /** @file
> >    Core image handling services to load and unload PeImage.
> >
> > -Copyright (c) 2006 - 2018, Intel Corporation. All rights
> > reserved.<BR>
> > +Copyright (c) 2006 - 2019, Intel Corporation. All rights
> > +reserved.<BR>
> >  SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> >  **/
> >
> >  #include "DxeMain.h"
> > @@ -12,19 +12,10 @@ SPDX-License-Identifier: BSD-2-Clause-Patent  //
> > // Module Globals  //  LOADED_IMAGE_PRIVATE_DATA  *mCurrentImage
> =
> > NULL;
> >
> > -LOAD_PE32_IMAGE_PRIVATE_DATA  mLoadPe32PrivateData = {
> > -  LOAD_PE32_IMAGE_PRIVATE_DATA_SIGNATURE,
> > -  NULL,
> > -  {
> > -    CoreLoadImageEx,
> > -    CoreUnloadImageEx
> > -  }
> > -};
> > -
> >  typedef struct {
> >    LIST_ENTRY                            Link;
> >    EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL  *Emulator;
> >    UINT16                                MachineType;
> >  } EMULATOR_ENTRY;
> > @@ -274,22 +265,10 @@ CoreInitializeImageServices (
> >               );
> >    ASSERT_EFI_ERROR(Status);
> >
> >    InitializeListHead (&mAvailableEmulators);
> >
> > -  if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
> > -    //
> > -    // Export DXE Core PE Loader functionality for backward compatibility.
> > -    //
> > -    Status = CoreInstallProtocolInterface (
> > -               &mLoadPe32PrivateData.Handle,
> > -               &gEfiLoadPeImageProtocolGuid,
> > -               EFI_NATIVE_INTERFACE,
> > -               &mLoadPe32PrivateData.Pe32Image
> > -               );
> > -  }
> > -
> >    ProtectUefiImage (&Image->Info, Image->LoadedImageDevicePath);
> >
> >    return Status;
> >  }
> >
> > @@ -1564,96 +1543,10 @@ CoreLoadImage (
> >    PERF_LOAD_IMAGE_END (Handle);
> >
> >    return Status;
> >  }
> >
> > -
> > -
> > -/**
> > -  Loads an EFI image into memory and returns a handle to the image
> > with extended parameters.
> > -
> > -  @param  This                    Calling context
> > -  @param  ParentImageHandle       The caller's image handle.
> > -  @param  FilePath                The specific file path from which the image is
> > -                                  loaded.
> > -  @param  SourceBuffer            If not NULL, a pointer to the memory
> location
> > -                                  containing a copy of the image to be loaded.
> > -  @param  SourceSize              The size in bytes of SourceBuffer.
> > -  @param  DstBuffer               The buffer to store the image.
> > -  @param  NumberOfPages           For input, specifies the space size of the
> > -                                  image by caller if not NULL. For output,
> > -                                  specifies the actual space size needed.
> > -  @param  ImageHandle             Image handle for output.
> > -  @param  EntryPoint              Image entry point for output.
> > -  @param  Attribute               The bit mask of attributes to set for the load
> > -                                  PE image.
> > -
> > -  @retval EFI_SUCCESS             The image was loaded into memory.
> > -  @retval EFI_NOT_FOUND           The FilePath was not found.
> > -  @retval EFI_INVALID_PARAMETER   One of the parameters has an invalid
> > value.
> > -  @retval EFI_UNSUPPORTED         The image type is not supported, or the
> > device
> > -                                  path cannot be parsed to locate the proper
> > -                                  protocol for loading the file.
> > -  @retval EFI_OUT_OF_RESOURCES    Image was not loaded due to
> insufficient
> > -                                  resources.
> > -  @retval EFI_LOAD_ERROR          Image was not loaded because the image
> > format was corrupt or not
> > -                                  understood.
> > -  @retval EFI_DEVICE_ERROR        Image was not loaded because the
> device
> > returned a read error.
> > -  @retval EFI_ACCESS_DENIED       Image was not loaded because the
> platform
> > policy prohibits the
> > -                                  image from being loaded. NULL is returned in
> > *ImageHandle.
> > -  @retval EFI_SECURITY_VIOLATION  Image was loaded and an
> ImageHandle
> > was created with a
> > -                                  valid EFI_LOADED_IMAGE_PROTOCOL. However, the
> > current
> > -                                  platform policy specifies that the image should not be
> > started.
> > -
> > -**/
> > -EFI_STATUS
> > -EFIAPI
> > -CoreLoadImageEx (
> > -  IN  EFI_PE32_IMAGE_PROTOCOL          *This,
> > -  IN  EFI_HANDLE                       ParentImageHandle,
> > -  IN  EFI_DEVICE_PATH_PROTOCOL         *FilePath,
> > -  IN  VOID                             *SourceBuffer       OPTIONAL,
> > -  IN  UINTN                            SourceSize,
> > -  IN  EFI_PHYSICAL_ADDRESS             DstBuffer           OPTIONAL,
> > -  OUT UINTN                            *NumberOfPages      OPTIONAL,
> > -  OUT EFI_HANDLE                       *ImageHandle,
> > -  OUT EFI_PHYSICAL_ADDRESS             *EntryPoint         OPTIONAL,
> > -  IN  UINT32                           Attribute
> > -  )
> > -{
> > -  EFI_STATUS    Status;
> > -  EFI_HANDLE    Handle;
> > -
> > -  PERF_LOAD_IMAGE_BEGIN (NULL);
> > -
> > -  Status = CoreLoadImageCommon (
> > -           TRUE,
> > -           ParentImageHandle,
> > -           FilePath,
> > -           SourceBuffer,
> > -           SourceSize,
> > -           DstBuffer,
> > -           NumberOfPages,
> > -           ImageHandle,
> > -           EntryPoint,
> > -           Attribute
> > -           );
> > -
> > -  Handle = NULL;
> > -  if (!EFI_ERROR (Status)) {
> > -    //
> > -    // ImageHandle will be valid only Status is success.
> > -    //
> > -    Handle = *ImageHandle;
> > -  }
> > -
> > -  PERF_LOAD_IMAGE_END (Handle);
> > -
> > -  return Status;
> > -}
> > -
> > -
> >  /**
> >    Transfer control to a loaded image's entry point.
> >
> >    @param  ImageHandle             Handle of image to be started.
> >    @param  ExitDataSize            Pointer of the size to ExitData
> > @@ -2010,28 +1903,5 @@ CoreUnloadImage (
> >    }
> >
> >  Done:
> >    return Status;
> >  }
> > -
> > -
> > -
> > -/**
> > -  Unload the specified image.
> > -
> > -  @param  This                    Indicates the calling context.
> > -  @param  ImageHandle             The specified image handle.
> > -
> > -  @retval EFI_INVALID_PARAMETER   Image handle is NULL.
> > -  @retval EFI_UNSUPPORTED         Attempt to unload an unsupported
> image.
> > -  @retval EFI_SUCCESS             Image successfully unloaded.
> > -
> > -**/
> > -EFI_STATUS
> > -EFIAPI
> > -CoreUnloadImageEx (
> > -  IN EFI_PE32_IMAGE_PROTOCOL  *This,
> > -  IN EFI_HANDLE                         ImageHandle
> > -  )
> > -{
> > -  return CoreUnloadImage (ImageHandle); -} diff --git
> > a/MdeModulePkg/Core/Dxe/Image/Image.h
> > b/MdeModulePkg/Core/Dxe/Image/Image.h
> > index 6020a27371..e9c44ab2a7 100644
> > --- a/MdeModulePkg/Core/Dxe/Image/Image.h
> > +++ b/MdeModulePkg/Core/Dxe/Image/Image.h
> > @@ -1,30 +1,17 @@
> >  /** @file
> >    Data structure and functions to load and unload PeImage.
> >
> > -Copyright (c) 2006 - 2018, Intel Corporation. All rights
> > reserved.<BR>
> > +Copyright (c) 2006 - 2019, Intel Corporation. All rights
> > +reserved.<BR>
> >  SPDX-License-Identifier: BSD-2-Clause-Patent
> >
> >  **/
> >
> >
> >  #ifndef _IMAGE_H_
> >  #define _IMAGE_H_
> >
> > -#define LOAD_PE32_IMAGE_PRIVATE_DATA_SIGNATURE
> > SIGNATURE_32('l','p','e','i')
> > -
> > -typedef struct {
> > -  UINTN                       Signature;
> > -  /// Image handle
> > -  EFI_HANDLE                  Handle;
> > -  EFI_PE32_IMAGE_PROTOCOL     Pe32Image;
> > -} LOAD_PE32_IMAGE_PRIVATE_DATA;
> > -
> > -#define LOAD_PE32_IMAGE_PRIVATE_DATA_FROM_THIS(a) \
> > -          CR(a, LOAD_PE32_IMAGE_PRIVATE_DATA, Pe32Image,
> > LOAD_PE32_IMAGE_PRIVATE_DATA_SIGNATURE)
> > -
> > -
> >  //
> >  // Private Data Types
> >  //
> >  #define IMAGE_FILE_HANDLE_SIGNATURE       SIGNATURE_32('i','m','g','f')
> >  typedef struct {
> > @@ -32,76 +19,6 @@ typedef struct {
> >    BOOLEAN             FreeBuffer;
> >    VOID                *Source;
> >    UINTN               SourceSize;
> >  } IMAGE_FILE_HANDLE;
> >
> > -/**
> > -  Loads an EFI image into memory and returns a handle to the image
> > with extended parameters.
> > -
> > -  @param  This                    Calling context
> > -  @param  ParentImageHandle       The caller's image handle.
> > -  @param  FilePath                The specific file path from which the image is
> > -                                  loaded.
> > -  @param  SourceBuffer            If not NULL, a pointer to the memory
> location
> > -                                  containing a copy of the image to be loaded.
> > -  @param  SourceSize              The size in bytes of SourceBuffer.
> > -  @param  DstBuffer               The buffer to store the image.
> > -  @param  NumberOfPages           For input, specifies the space size of the
> > -                                  image by caller if not NULL. For output,
> > -                                  specifies the actual space size needed.
> > -  @param  ImageHandle             Image handle for output.
> > -  @param  EntryPoint              Image entry point for output.
> > -  @param  Attribute               The bit mask of attributes to set for the load
> > -                                  PE image.
> > -
> > -  @retval EFI_SUCCESS             The image was loaded into memory.
> > -  @retval EFI_NOT_FOUND           The FilePath was not found.
> > -  @retval EFI_INVALID_PARAMETER   One of the parameters has an invalid
> > value.
> > -  @retval EFI_UNSUPPORTED         The image type is not supported, or the
> > device
> > -                                  path cannot be parsed to locate the proper
> > -                                  protocol for loading the file.
> > -  @retval EFI_OUT_OF_RESOURCES    Image was not loaded due to
> insufficient
> > -                                  resources.
> > -  @retval EFI_LOAD_ERROR          Image was not loaded because the image
> > format was corrupt or not
> > -                                  understood.
> > -  @retval EFI_DEVICE_ERROR        Image was not loaded because the
> device
> > returned a read error.
> > -  @retval EFI_ACCESS_DENIED       Image was not loaded because the
> platform
> > policy prohibits the
> > -                                  image from being loaded. NULL is returned in
> > *ImageHandle.
> > -  @retval EFI_SECURITY_VIOLATION  Image was loaded and an
> ImageHandle
> > was created with a
> > -                                  valid EFI_LOADED_IMAGE_PROTOCOL. However, the
> > current
> > -                                  platform policy specifies that the image should not be
> > started.
> > -
> > -**/
> > -EFI_STATUS
> > -EFIAPI
> > -CoreLoadImageEx (
> > -  IN  EFI_PE32_IMAGE_PROTOCOL          *This,
> > -  IN  EFI_HANDLE                       ParentImageHandle,
> > -  IN  EFI_DEVICE_PATH_PROTOCOL         *FilePath,
> > -  IN  VOID                             *SourceBuffer       OPTIONAL,
> > -  IN  UINTN                            SourceSize,
> > -  IN  EFI_PHYSICAL_ADDRESS             DstBuffer           OPTIONAL,
> > -  OUT UINTN                            *NumberOfPages      OPTIONAL,
> > -  OUT EFI_HANDLE                       *ImageHandle,
> > -  OUT EFI_PHYSICAL_ADDRESS             *EntryPoint         OPTIONAL,
> > -  IN  UINT32                           Attribute
> > -  );
> > -
> > -
> > -/**
> > -  Unload the specified image.
> > -
> > -  @param  This                    Indicates the calling context.
> > -  @param  ImageHandle             The specified image handle.
> > -
> > -  @retval EFI_INVALID_PARAMETER   Image handle is NULL.
> > -  @retval EFI_UNSUPPORTED         Attempt to unload an unsupported
> image.
> > -  @retval EFI_SUCCESS             Image successfully unloaded.
> > -
> > -**/
> > -EFI_STATUS
> > -EFIAPI
> > -CoreUnloadImageEx (
> > -  IN EFI_PE32_IMAGE_PROTOCOL  *This,
> > -  IN EFI_HANDLE                         ImageHandle
> > -  );
> >  #endif
> > diff --git a/MdeModulePkg/Core/Pei/FwVol/FwVol.c
> > b/MdeModulePkg/Core/Pei/FwVol/FwVol.c
> > index f817ba04e2..709db00694 100644
> > --- a/MdeModulePkg/Core/Pei/FwVol/FwVol.c
> > +++ b/MdeModulePkg/Core/Pei/FwVol/FwVol.c
> > @@ -1092,19 +1092,10 @@ PeiFfsFindNextFile (  {
> >    PEI_CORE_FV_HANDLE      *CoreFvHandle;
> >
> >    CoreFvHandle = FvHandleToCoreHandle (FvHandle);
> >
> > -  //
> > -  // To make backward compatiblity, if can not find corresponding the
> > handle of FV
> > -  // then treat FV as build-in FFS2/FFS3 format and memory mapped FV
> > that FV handle is pointed
> > -  // to the address of first byte of FV.
> > -  //
> > -  if ((CoreFvHandle == NULL) && FeaturePcdGet
> > (PcdFrameworkCompatibilitySupport)) {
> > -    return FindFileEx (FvHandle, NULL, SearchType, FileHandle, NULL);
> > -  }
> > -
> >    if ((CoreFvHandle == NULL) || CoreFvHandle->FvPpi == NULL) {
> >      return EFI_NOT_FOUND;
> >    }
> >
> >    return CoreFvHandle->FvPpi->FindFileByType (CoreFvHandle->FvPpi,
> > SearchType, FvHandle, FileHandle); @@ -2109,66 +2100,10 @@
> > PEI_CORE_FV_HANDLE *  FindNextCoreFvHandle (
> >    IN PEI_CORE_INSTANCE  *Private,
> >    IN UINTN              Instance
> >    )
> >  {
> > -  UINTN                    Index;
> > -  BOOLEAN                  Match;
> > -  EFI_HOB_FIRMWARE_VOLUME  *FvHob;
> > -
> > -  //
> > -  // Handle Framework FvHob and Install FvInfo Ppi for it.
> > -  //
> > -  if (FeaturePcdGet (PcdFrameworkCompatibilitySupport)) {
> > -    //
> > -    // Loop to search the wanted FirmwareVolume which supports FFS
> > -    //
> > -    FvHob = (EFI_HOB_FIRMWARE_VOLUME *)GetFirstHob
> (EFI_HOB_TYPE_FV);
> > -    while (FvHob != NULL) {
> > -      //
> > -      // Search whether FvHob has been installed into PeiCore's FV database.
> > -      // If found, no need install new FvInfoPpi for it.
> > -      //
> > -      for (Index = 0, Match = FALSE; Index < Private->FvCount; Index++) {
> > -        if ((EFI_PEI_FV_HANDLE)(UINTN)FvHob->BaseAddress == Private-
> > >Fv[Index].FvHeader) {
> > -          Match = TRUE;
> > -          break;
> > -        }
> > -      }
> > -
> > -      //
> > -      // Search whether FvHob has been cached into PeiCore's Unknown FV
> > database.
> > -      // If found, no need install new FvInfoPpi for it.
> > -      //
> > -      if (!Match) {
> > -        for (Index = 0; Index < Private->UnknownFvInfoCount; Index ++) {
> > -          if ((UINTN)FvHob->BaseAddress == (UINTN)Private-
> > >UnknownFvInfo[Index].FvInfo) {
> > -            Match = TRUE;
> > -            break;
> > -          }
> > -        }
> > -      }
> > -
> > -      //
> > -      // If the Fv in FvHob has not been installed into PeiCore's FV database
> and
> > has
> > -      // not been cached into PeiCore's Unknown FV database, install a new
> > FvInfoPpi
> > -      // for it then PeiCore will dispatch it in callback of FvInfoPpi.
> > -      //
> > -      if (!Match) {
> > -        PeiServicesInstallFvInfoPpi (
> > -          &(((EFI_FIRMWARE_VOLUME_HEADER *)(UINTN)FvHob-
> >BaseAddress)-
> > >FileSystemGuid),
> > -          (VOID *)(UINTN)FvHob->BaseAddress,
> > -          (UINT32)FvHob->Length,
> > -          NULL,
> > -          NULL
> > -          );
> > -      }
> > -
> > -      FvHob = (EFI_HOB_FIRMWARE_VOLUME *)GetNextHob
> > (EFI_HOB_TYPE_FV, (VOID *)((UINTN)FvHob + FvHob-
> >Header.HobLength));
> > -    }
> > -  }
> > -
> >    if (Instance >= Private->FvCount) {
> >      return NULL;
> >    }
> >
> >    return &Private->Fv[Instance];
> > diff --git a/MdeModulePkg/Core/Pei/PeiMain.inf
> > b/MdeModulePkg/Core/Pei/PeiMain.inf
> > index c8a6d5b80b..7c482dacfc 100644
> > --- a/MdeModulePkg/Core/Pei/PeiMain.inf
> > +++ b/MdeModulePkg/Core/Pei/PeiMain.inf
> > @@ -100,11 +100,10 @@
> >    gEfiPeiCoreFvLocationPpiGuid                  ## SOMETIMES_CONSUMES
> >
> >  [Pcd]
> >    gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreMaxPeiStackSize
> > ## CONSUMES
> >
> >
> gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreImageLoaderSearchTeSecti
> onFi
> > rst  ## CONSUMES
> > -
> gEfiMdeModulePkgTokenSpaceGuid.PcdFrameworkCompatibilitySupport
> > ## CONSUMES
> >
> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressPeiCodePageNumb
> er
> > ## SOMETIMES_CONSUMES
> >
> >
> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressBootTimeCodePage
> Nu
> > mber    ## SOMETIMES_CONSUMES
> >
> >
> gEfiMdeModulePkgTokenSpaceGuid.PcdLoadFixAddressRuntimeCodePageN
> um
> > ber     ## SOMETIMES_CONSUMES
> >    gEfiMdeModulePkgTokenSpaceGuid.PcdLoadModuleAtFixAddressEnable
> > ## CONSUMES
> >    gEfiMdeModulePkgTokenSpaceGuid.PcdShadowPeimOnS3Boot
> > ## CONSUMES
> > --
> > 2.18.0.windows.1
> >
> >
> > 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#40026): https://edk2.groups.io/g/devel/message/40026
Mute This Topic: https://groups.io/mt/31378998/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