From: gikidy Date: Fri, 5 Dec 2008 06:33:55 +0000 (+0000) Subject: Synchronized Macro definition of GET_GUID_HOB_DATA_SIZE, GET_GUID_HOB_DATA, END_OF_H... X-Git-Tag: edk2-stable201903~19386 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=cc4aa4644e0bc347d0deee88734cd6d8f00bea08 Synchronized Macro definition of GET_GUID_HOB_DATA_SIZE, GET_GUID_HOB_DATA, END_OF_HOB_LIST, GET_NEXT_HOB, GET_HOB_LENGTH, GET_HOB_TYPE with Spec. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6860 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/MdePkg/Include/Library/HobLib.h b/MdePkg/Include/Library/HobLib.h index 3746855bdb..a92d37ad05 100644 --- a/MdePkg/Include/Library/HobLib.h +++ b/MdePkg/Include/Library/HobLib.h @@ -425,7 +425,9 @@ BuildMemoryAllocationHob ( @return HobType **/ -#define GET_HOB_TYPE(Hob) ((Hob).Header->HobType) +//#define GET_HOB_TYPE(Hob) ((Hob).Header->HobType) +#define GET_HOB_TYPE(HobStart) \ + ((*(EFI_HOB_GENERIC_HEADER **)&(HobStart))->HobType) /** Returns the length, in bytes, of a HOB. @@ -438,7 +440,9 @@ BuildMemoryAllocationHob ( @return HobLength **/ -#define GET_HOB_LENGTH(Hob) ((Hob).Header->HobLength) +//#define GET_HOB_LENGTH(Hob) ((Hob).Header->HobLength) +#define GET_HOB_LENGTH(HobStart) \ + ((*(EFI_HOB_GENERIC_HEADER **)&(HobStart))->HobLength) /** Returns a pointer to the next HOB in the HOB list. @@ -451,7 +455,9 @@ BuildMemoryAllocationHob ( @return A pointer to the next HOB in the HOB list. **/ -#define GET_NEXT_HOB(Hob) ((Hob).Raw + GET_HOB_LENGTH (Hob)) +//#define GET_NEXT_HOB(Hob) ((Hob).Raw + GET_HOB_LENGTH (Hob)) +#define GET_NEXT_HOB(HobStart) \ + (VOID *)(*(UINT8 **)&(HobStart) + GET_HOB_LENGTH (HobStart)) /** Determines if a HOB is the last HOB in the HOB list. @@ -479,7 +485,9 @@ BuildMemoryAllocationHob ( @return A pointer to the data buffer in a HOB **/ -#define GET_GUID_HOB_DATA(GuidHob) ((VOID *) (((UINT8 *) &((GuidHob)->Name)) + sizeof (EFI_GUID))) +//#define GET_GUID_HOB_DATA(GuidHob) ((VOID *) (((UINT8 *) &((GuidHob)->Name)) + sizeof (EFI_GUID))) +#define GET_GUID_HOB_DATA(HobStart) \ + (VOID *)(*(UINT8 **)&(HobStart) + sizeof (EFI_HOB_GUID_TYPE)) /** Returns the size of the data buffer from a HOB of type EFI_HOB_TYPE_GUID_EXTENSION. @@ -491,6 +499,8 @@ BuildMemoryAllocationHob ( @return The size of the data buffer **/ -#define GET_GUID_HOB_DATA_SIZE(GuidHob) (((GuidHob)->Header).HobLength - sizeof (EFI_HOB_GUID_TYPE)) +//#define GET_GUID_HOB_DATA_SIZE(GuidHob) (((GuidHob)->Header).HobLength - sizeof (EFI_HOB_GUID_TYPE)) +#define GET_GUID_HOB_DATA_SIZE(HobStart) \ + (UINT16)(GET_HOB_LENGTH (HobStart) - sizeof (EFI_HOB_GUID_TYPE)) #endif