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(-)
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]
-=-=-=-=-=-=-=-=-=-=-=-
© 2016 - 2024 Red Hat, Inc.