From 68167fed0e4ecb5393a3f036d14c438f65c85f80 Mon Sep 17 00:00:00 2001 From: mdkinney Date: Thu, 4 Jun 2009 18:57:44 +0000 Subject: [PATCH] Fix build breaks from comment clean up checkin git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8468 6f19259b-4bc3-4df7-8a09-765794883524 --- MdePkg/Include/Base.h | 41 +++++++++++++++++++------ MdePkg/Include/Ia32/ProcessorBind.h | 5 +++ MdePkg/Include/Ipf/ProcessorBind.h | 6 ++++ MdePkg/Include/Library/DxeServicesLib.h | 7 ++--- MdePkg/Include/Library/UefiUsbLib.h | 1 - MdePkg/Include/X64/ProcessorBind.h | 7 ++++- 6 files changed, 51 insertions(+), 16 deletions(-) diff --git a/MdePkg/Include/Base.h b/MdePkg/Include/Base.h index 287c193a3e..4eedffde0b 100644 --- a/MdePkg/Include/Base.h +++ b/MdePkg/Include/Base.h @@ -333,6 +333,15 @@ struct _LIST_ENTRY { // } // +/** + Return the size of argument that has been aligned to sizeof (UINTN). + + @param n The parameter size is to be aligned. + + @return The aligned size +**/ +#define _INT_SIZE_OF(n) ((sizeof (n) + sizeof (UINTN) - 1) &~(sizeof (UINTN) - 1)) + #if defined(__GNUC__) // // Use GCC built-in macros for variable argument lists. @@ -346,15 +355,6 @@ typedef __builtin_va_list VA_LIST; #define VA_END(Marker) __builtin_va_end (Marker) #else -/** - Return the size of argument that has been aligned to sizeof (UINTN). - - @param n The parameter size to be aligned. - - @return The aligned size -**/ -#define _INT_SIZE_OF(n) ((sizeof (n) + sizeof (UINTN) - 1) &~(sizeof (UINTN) - 1)) - /// /// Pointer to the start of a variable argument list. Same as CHAR8 *. /// @@ -409,6 +409,29 @@ typedef CHAR8 *VA_LIST; #endif +/// +/// Pointer to the start of a variable argument list stored in a memory buffer. Same as UINT8 *. +/// +typedef UINTN *BASE_LIST; + +/** + Returns an argument of a specified type from a variable argument list and updates + the pointer to the variable argument list to point to the next argument. + + This function returns an argument of the type specified by TYPE from the beginning + of the variable argument list specified by Marker. Marker is then updated to point + to the next argument in the variable argument list. The method for computing the + pointer to the next argument in the argument list is CPU specific following the EFIAPI ABI. + + @param Marker Pointer to the beginning of a variable argument list. + @param TYPE The type of argument to retrieve from the beginning + of the variable argument list. + + @return An argument of the type specified by TYPE. + +**/ +#define BASE_ARG(Marker, TYPE) (*(TYPE *)((UINT8 *)(Marker = (BASE_LIST)((UINT8 *)Marker + _INT_SIZE_OF (TYPE))) - _INT_SIZE_OF (TYPE))) + /** Macro that returns the byte offset of a field in a data structure. diff --git a/MdePkg/Include/Ia32/ProcessorBind.h b/MdePkg/Include/Ia32/ProcessorBind.h index edf881b7ee..4f24c67077 100644 --- a/MdePkg/Include/Ia32/ProcessorBind.h +++ b/MdePkg/Include/Ia32/ProcessorBind.h @@ -341,6 +341,11 @@ typedef INT32 INTN; #else #define ASM_PFX(name) _##name #endif + /// + /// For GNU assembly code, .global or .globl can declare global symbols. + /// Define this macro to unify the usage. + /// + #define ASM_GLOBAL .globl #endif /** diff --git a/MdePkg/Include/Ipf/ProcessorBind.h b/MdePkg/Include/Ipf/ProcessorBind.h index b8fca5e014..c58588214f 100644 --- a/MdePkg/Include/Ipf/ProcessorBind.h +++ b/MdePkg/Include/Ipf/ProcessorBind.h @@ -392,6 +392,12 @@ typedef INT64 INTN; #define GLOBAL_REMOVE_IF_UNREFERENCED #endif +/// +/// For GNU assembly code, .global or .globl can declare global symbols. +/// Define this macro to unify the usage. +/// +#define ASM_GLOBAL .globl + /// /// A pointer to a function in IPF points to a plabel. /// diff --git a/MdePkg/Include/Library/DxeServicesLib.h b/MdePkg/Include/Library/DxeServicesLib.h index 23a8bed3f2..898793398f 100644 --- a/MdePkg/Include/Library/DxeServicesLib.h +++ b/MdePkg/Include/Library/DxeServicesLib.h @@ -13,11 +13,8 @@ **/ -#ifndef __PI_LIB_H__ -#define __PI_LIB_H__ - -#include - +#ifndef __DXE_SERVICES_LIB_H__ +#define __DXE_SERVICES_LIB_H__ /** Searches all the available firmware volumes and returns the first matching FFS section. diff --git a/MdePkg/Include/Library/UefiUsbLib.h b/MdePkg/Include/Library/UefiUsbLib.h index 9d15579053..455cb7b06e 100644 --- a/MdePkg/Include/Library/UefiUsbLib.h +++ b/MdePkg/Include/Library/UefiUsbLib.h @@ -18,7 +18,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #define __USB_DXE_LIB_H__ #include -#include /** Get the descriptor of the specified USB HID interface. diff --git a/MdePkg/Include/X64/ProcessorBind.h b/MdePkg/Include/X64/ProcessorBind.h index 5ebc58d8c2..363a2dca35 100644 --- a/MdePkg/Include/X64/ProcessorBind.h +++ b/MdePkg/Include/X64/ProcessorBind.h @@ -404,7 +404,12 @@ typedef INT64 INTN; #define ASM_PFX(name) name #else #define ASM_PFX(name) _##name - #endif + #endif + /// + /// For GNU assembly code, .global or .globl can declare global symbols. + /// Define this macro to unify the usage. + /// + #define ASM_GLOBAL .globl #endif /** -- 2.39.2