[edk2-devel] [PATCH] MdeModulePkg/DxeCore: Drop unnecessary pointer indirection

Marvin Häuser posted 1 patch 2 years, 8 months ago
Failed in applying to current master (apply log)
MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c |  2 +-
MdeModulePkg/Core/Dxe/Gcd/Gcd.c         | 10 +++++-----
MdeModulePkg/Core/Dxe/DxeMain.h         |  2 +-
3 files changed, 7 insertions(+), 7 deletions(-)
[edk2-devel] [PATCH] MdeModulePkg/DxeCore: Drop unnecessary pointer indirection
Posted by Marvin Häuser 2 years, 8 months ago
CoreInitializeGcdServices() takes a pointer-to-pointer for the first
HOB. However, it is dereferenced in every operation inside. To
mitigate confusion whether or not it can be re-allocated by the
callee, remove the unnecessary indirection.

Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Hao A Wu <hao.a.wu@intel.com>
Cc: Dandan Bi <dandan.bi@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Vitaly Cheptsov <vit9696@protonmail.com>
Signed-off-by: Marvin Häuser <mhaeuser@posteo.de>
---
 MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c |  2 +-
 MdeModulePkg/Core/Dxe/Gcd/Gcd.c         | 10 +++++-----
 MdeModulePkg/Core/Dxe/DxeMain.h         |  2 +-
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c b/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c
index db21311f9352..1a8f6b57f356 100644
--- a/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c
+++ b/MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c
@@ -263,7 +263,7 @@ DxeMain (
   //

   // Initialize Memory Services

   //

-  CoreInitializeMemoryServices (&HobStart, &MemoryBaseAddress, &MemoryLength);

+  CoreInitializeMemoryServices (HobStart, &MemoryBaseAddress, &MemoryLength);

 

   MemoryProfileInit (HobStart);

 

diff --git a/MdeModulePkg/Core/Dxe/Gcd/Gcd.c b/MdeModulePkg/Core/Dxe/Gcd/Gcd.c
index 51b082b7e7eb..af9e9e315819 100644
--- a/MdeModulePkg/Core/Dxe/Gcd/Gcd.c
+++ b/MdeModulePkg/Core/Dxe/Gcd/Gcd.c
@@ -2168,7 +2168,7 @@ FindLargestFreeRegion (
 **/

 EFI_STATUS

 CoreInitializeMemoryServices (

-  IN  VOID                  **HobStart,

+  IN  VOID                  *HobStart,

   OUT EFI_PHYSICAL_ADDRESS  *MemoryBaseAddress,

   OUT UINT64                *MemoryLength

   )

@@ -2194,7 +2194,7 @@ CoreInitializeMemoryServices (
   //

   // Point at the first HOB.  This must be the PHIT HOB.

   //

-  Hob.Raw = *HobStart;

+  Hob.Raw = HobStart;

   ASSERT (GET_HOB_TYPE (Hob) == EFI_HOB_TYPE_HANDOFF);

 

   //

@@ -2248,7 +2248,7 @@ CoreInitializeMemoryServices (
   // Find the Resource Descriptor HOB that contains PHIT range EfiFreeMemoryBottom..EfiFreeMemoryTop

   //

   Found  = FALSE;

-  for (Hob.Raw = *HobStart; !END_OF_HOB_LIST(Hob); Hob.Raw = GET_NEXT_HOB(Hob)) {

+  for (Hob.Raw = HobStart; !END_OF_HOB_LIST(Hob); Hob.Raw = GET_NEXT_HOB(Hob)) {

     //

     // Skip all HOBs except Resource Descriptor HOBs

     //

@@ -2304,7 +2304,7 @@ CoreInitializeMemoryServices (
         // Compute range between the start of the Resource Descriptor HOB and the start of the HOB List

         //

         BaseAddress = PageAlignAddress (ResourceHob->PhysicalStart);

-        Length      = PageAlignLength  ((UINT64)((UINTN)*HobStart - BaseAddress));

+        Length      = PageAlignLength  ((UINT64)((UINTN)HobStart - BaseAddress));

         FindLargestFreeRegion (&BaseAddress, &Length, (EFI_HOB_MEMORY_ALLOCATION *)GetFirstHob (EFI_HOB_TYPE_MEMORY_ALLOCATION));

       }

     }

@@ -2329,7 +2329,7 @@ CoreInitializeMemoryServices (
     // The max address must be within the physically addressible range for the processor.

     //

     HighAddress = MAX_ALLOC_ADDRESS;

-    for (Hob.Raw = *HobStart; !END_OF_HOB_LIST(Hob); Hob.Raw = GET_NEXT_HOB(Hob)) {

+    for (Hob.Raw = HobStart; !END_OF_HOB_LIST(Hob); Hob.Raw = GET_NEXT_HOB(Hob)) {

       //

       // Skip the Resource Descriptor HOB that contains the PHIT

       //

diff --git a/MdeModulePkg/Core/Dxe/DxeMain.h b/MdeModulePkg/Core/Dxe/DxeMain.h
index 9bd3c0d08411..8f268dd2854a 100644
--- a/MdeModulePkg/Core/Dxe/DxeMain.h
+++ b/MdeModulePkg/Core/Dxe/DxeMain.h
@@ -366,7 +366,7 @@ CoreAcquireGcdMemoryLock (
 **/

 EFI_STATUS

 CoreInitializeMemoryServices (

-  IN  VOID                  **HobStart,

+  IN  VOID                  *HobStart,

   OUT EFI_PHYSICAL_ADDRESS  *MemoryBaseAddress,

   OUT UINT64                *MemoryLength

   );

-- 
2.31.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#78883): https://edk2.groups.io/g/devel/message/78883
Mute This Topic: https://groups.io/mt/84754056/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-