Hi Ard,

Some minor comments,
1. Could you please also remove the arguments in related function comments?
2. Please make the code aligned after removing some condition check.


Thanks,
Dandan
> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Ard
> Biesheuvel
> Sent: Friday, April 10, 2020 12:10 AM
> To: devel@edk2.groups.io
> Cc: Wang, Jian J <jian.j.w...@intel.com>; Wu, Hao A <hao.a...@intel.com>;
> Ard Biesheuvel <ard.biesheu...@arm.com>
> Subject: [edk2-devel] [PATCH 2/2] MdeModulePkg/DxeCore/Image: remove
> unused function arguments
> 
> Image.c defines a CoreLoadImageCommon() function that has some
> arguments that are marked OPTIONAL. The function only has a single caller
> living in the same file, and it does not pass any arguments for these
> OPTIONAL arguments.
> 
> So let's simplify the code, and remove these arguments and all the transitive
> conditional dependencies on them.
> 
> Signed-off-by: Ard Biesheuvel <ard.biesheu...@arm.com>
> ---
> 
> NOTE: this patch was generated with the -w option, to suppress indentation
> changes from cluttering the diff.
> 
>  MdeModulePkg/Core/Dxe/Image/Image.c | 81 ++------------------
>  1 file changed, 7 insertions(+), 74 deletions(-)
> 
> diff --git a/MdeModulePkg/Core/Dxe/Image/Image.c
> b/MdeModulePkg/Core/Dxe/Image/Image.c
> index aae2c1eaa516..9fdde87f2df3 100644
> --- a/MdeModulePkg/Core/Dxe/Image/Image.c
> +++ b/MdeModulePkg/Core/Dxe/Image/Image.c
> @@ -564,13 +564,10 @@ CoreLoadPeImage (
>    IN BOOLEAN                     BootPolicy,
>    IN VOID                        *Pe32Handle,
>    IN LOADED_IMAGE_PRIVATE_DATA   *Image,
> -  IN EFI_PHYSICAL_ADDRESS        DstBuffer    OPTIONAL,
> -  OUT EFI_PHYSICAL_ADDRESS       *EntryPoint  OPTIONAL,
>    IN  UINT32                     Attribute
>    )
>  {
>    EFI_STATUS                Status;
> -  BOOLEAN                   DstBufAlocated;
>    UINTN                     Size;
> 
>    ZeroMem (&Image->ImageContext, sizeof (Image->ImageContext)); @@ -
> 619,15 +616,6 @@ CoreLoadPeImage (
>      return EFI_UNSUPPORTED;
>    }
> 
> -  //
> -  // Allocate memory of the correct memory type aligned on the required
> image boundary
> -  //
> -  DstBufAlocated = FALSE;
> -  if (DstBuffer == 0) {
> -    //
> -    // Allocate Destination Buffer as caller did not pass it in
> -    //
> -
>    if (Image->ImageContext.SectionAlignment > EFI_PAGE_SIZE) {
>      Size = (UINTN)Image->ImageContext.ImageSize + Image-
> >ImageContext.SectionAlignment;
>    } else {
> @@ -685,31 +673,6 @@ CoreLoadPeImage (
>    if (EFI_ERROR (Status)) {
>      return Status;
>    }
> -    DstBufAlocated = TRUE;
> -  } else {
> -    //
> -    // Caller provided the destination buffer
> -    //
> -
> -    if (Image->ImageContext.RelocationsStripped && (Image-
> >ImageContext.ImageAddress != DstBuffer)) {
> -      //
> -      // If the image relocations were stripped, and the caller provided a
> -      // destination buffer address that does not match the address that the
> -      // image is linked at, then the image cannot be loaded.
> -      //
> -      return EFI_INVALID_PARAMETER;
> -    }
> -
> -    if (Image->NumberOfPages != 0 &&
> -        Image->NumberOfPages <
> -        (EFI_SIZE_TO_PAGES ((UINTN)Image->ImageContext.ImageSize +
> Image->ImageContext.SectionAlignment))) {
> -      Image->NumberOfPages = EFI_SIZE_TO_PAGES ((UINTN)Image-
> >ImageContext.ImageSize + Image->ImageContext.SectionAlignment);
> -      return EFI_BUFFER_TOO_SMALL;
> -    }
> -
> -    Image->NumberOfPages = EFI_SIZE_TO_PAGES ((UINTN)Image-
> >ImageContext.ImageSize + Image->ImageContext.SectionAlignment);
> -    Image->ImageContext.ImageAddress = DstBuffer;
> -  }
> 
>    Image->ImageBasePage = Image->ImageContext.ImageAddress;
>    if (!Image->ImageContext.IsTeImage) { @@ -790,13 +753,6 @@
> CoreLoadPeImage (
>      }
>    }
> 
> -  //
> -  // Fill in the entry point of the image if it is available
> -  //
> -  if (EntryPoint != NULL) {
> -    *EntryPoint = Image->ImageContext.EntryPoint;
> -  }
> -
>    //
>    // Print the load address and the PDB file name if it is available
>    //
> @@ -861,11 +817,9 @@ CoreLoadPeImage (
>    // Free memory.
>    //
> 
> -  if (DstBufAlocated) {
>    CoreFreePages (Image->ImageContext.ImageAddress, Image-
> >NumberOfPages);
>    Image->ImageContext.ImageAddress = 0;
>    Image->ImageBasePage = 0;
> -  }
> 
>    if (Image->ImageContext.FixupData != NULL) {
>      CoreFreePool (Image->ImageContext.FixupData); @@ -920,8 +874,7 @@
> CoreLoadedImageInfo (  STATIC  VOID  CoreUnloadAndCloseImage (
> -  IN LOADED_IMAGE_PRIVATE_DATA  *Image,
> -  IN BOOLEAN                    FreePage
> +  IN LOADED_IMAGE_PRIVATE_DATA  *Image
>    )
>  {
>    EFI_STATUS                          Status;
> @@ -1047,7 +1000,7 @@ CoreUnloadAndCloseImage (
>    //
>    // Free the Image from memory
>    //
> -  if ((Image->ImageBasePage != 0) && FreePage) {
> +  if ((Image->ImageBasePage != 0)) {
>      CoreFreePages (Image->ImageBasePage, Image->NumberOfPages);
>    }
> 
> @@ -1122,10 +1075,7 @@ CoreLoadImageCommon (
>    IN  EFI_DEVICE_PATH_PROTOCOL         *FilePath,
>    IN  VOID                             *SourceBuffer       OPTIONAL,
>    IN  UINTN                            SourceSize,
> -  IN  EFI_PHYSICAL_ADDRESS             DstBuffer           OPTIONAL,
> -  IN OUT UINTN                         *NumberOfPages      OPTIONAL,
>    OUT EFI_HANDLE                       *ImageHandle,
> -  OUT EFI_PHYSICAL_ADDRESS             *EntryPoint         OPTIONAL,
>    IN  UINT32                           Attribute
>    )
>  {
> @@ -1330,12 +1280,7 @@ CoreLoadImageCommon (
>    Image->Info.FilePath     = DuplicateDevicePath (FilePath);
>    Image->Info.ParentHandle = ParentImageHandle;
> 
> -
> -  if (NumberOfPages != NULL) {
> -    Image->NumberOfPages = *NumberOfPages ;
> -  } else {
>    Image->NumberOfPages = 0 ;
> -  }
> 
>    //
>    // Install the protocol interfaces for this image @@ -1355,20 +1300,11 @@
> CoreLoadImageCommon (
>    //
>    // Load the image.  If EntryPoint is Null, it will not be set.
>    //
> -  Status = CoreLoadPeImage (BootPolicy, &FHand, Image, DstBuffer,
> EntryPoint, Attribute);
> +  Status = CoreLoadPeImage (BootPolicy, &FHand, Image, Attribute);
>    if (EFI_ERROR (Status)) {
> -    if ((Status == EFI_BUFFER_TOO_SMALL) || (Status ==
> EFI_OUT_OF_RESOURCES)) {
> -      if (NumberOfPages != NULL) {
> -        *NumberOfPages = Image->NumberOfPages;
> -      }
> -    }
>      goto Done;
>    }
> 
> -  if (NumberOfPages != NULL) {
> -    *NumberOfPages = Image->NumberOfPages;
> -  }
> -
>    //
>    // Register the image in the Debug Image Info Table if the attribute is set
>    //
> @@ -1448,7 +1384,7 @@ CoreLoadImageCommon (
>    //
>    if (EFI_ERROR (Status)) {
>      if (Image != NULL) {
> -      CoreUnloadAndCloseImage (Image, (BOOLEAN)(DstBuffer == 0));
> +      CoreUnloadAndCloseImage (Image);
>        Image = NULL;
>      }
>    } else if (EFI_ERROR (SecurityStatus)) { @@ -1524,10 +1460,7 @@
> CoreLoadImage (
>               FilePath,
>               SourceBuffer,
>               SourceSize,
> -             (EFI_PHYSICAL_ADDRESS) (UINTN) NULL,
> -             NULL,
>               ImageHandle,
> -             NULL,
>               EFI_LOAD_PE_IMAGE_ATTRIBUTE_RUNTIME_REGISTRATION |
> EFI_LOAD_PE_IMAGE_ATTRIBUTE_DEBUG_IMAGE_INFO_TABLE_REGISTRA
> TION
>               );
> 
> @@ -1744,7 +1677,7 @@ CoreStartImage (
>    // unload it
>    //
>    if (EFI_ERROR (Image->Status) || Image->Type ==
> EFI_IMAGE_SUBSYSTEM_EFI_APPLICATION) {
> -    CoreUnloadAndCloseImage (Image, TRUE);
> +    CoreUnloadAndCloseImage (Image);
>      //
>      // ImageHandle may be invalid after the image is unloaded, so use NULL
> handle to record perf log.
>      //
> @@ -1809,7 +1742,7 @@ CoreExit (
>      //
>      // The image has not been started so just free its resources
>      //
> -    CoreUnloadAndCloseImage (Image, TRUE);
> +    CoreUnloadAndCloseImage (Image);
>      Status = EFI_SUCCESS;
>      goto Done;
>    }
> @@ -1911,7 +1844,7 @@ CoreUnloadImage (
>      //
>      // if the Image was not started or Unloaded O.K. then clean up
>      //
> -    CoreUnloadAndCloseImage (Image, TRUE);
> +    CoreUnloadAndCloseImage (Image);
>    }
> 
>  Done:
> --
> 2.17.1
> 
> 
> 


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

View/Reply Online (#60488): https://edk2.groups.io/g/devel/message/60488
Mute This Topic: https://groups.io/mt/72900049/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to