From 0d49d8f681f213415c8e756b488692c83bcab62f Mon Sep 17 00:00:00 2001 From: qhuang8 Date: Tue, 13 Feb 2007 11:12:05 +0000 Subject: 1. Add two interfaces in PeCoffGetEntryPointLib.h 2. Fix the description of EfiTestChildHandle & EfiTestManagedDevice 3. Clean up BasePciLbPciCf8 & BasePciLibPciExpress to remove the dependency on DebugLib git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2387 6f19259b-4bc3-4df7-8a09-765794883524 --- MdePkg/Include/Library/PeCoffGetEntryPointLib.h | 36 +++++++++++++++++++--- MdePkg/Include/Library/PrintLib.h | 11 ++++++- MdePkg/Include/Library/UefiLib.h | 41 +++++++++++++------------ 3 files changed, 63 insertions(+), 25 deletions(-) (limited to 'MdePkg/Include') diff --git a/MdePkg/Include/Library/PeCoffGetEntryPointLib.h b/MdePkg/Include/Library/PeCoffGetEntryPointLib.h index 973a368655..c1bc488c8d 100644 --- a/MdePkg/Include/Library/PeCoffGetEntryPointLib.h +++ b/MdePkg/Include/Library/PeCoffGetEntryPointLib.h @@ -42,18 +42,46 @@ PeCoffLoaderGetEntryPoint ( ); /** - Returns the machine type of PE/COFF image. + Returns the machine type of a PE/COFF image. - @param Image Pointer to a PE/COFF header + Returns the machine type from the PE/COFF image specified by Pe32Data. + If Pe32Data is NULL, then ASSERT(). + + @param Pe32Data Pointer to the PE/COFF image that is loaded in system + memory. - @return Machine type or zero if not a valid iamge + @return Machine type or zero if not a valid iamge. **/ UINT16 EFIAPI PeCoffLoaderGetMachineType ( - IN VOID *Image + IN VOID *Pe32Data ); +/** + Returns a pointer to the PDB file name for a PE/COFF image that has been + loaded into system memory with the PE/COFF Loader Library functions. + + Returns the PDB file name for the PE/COFF image specified by Pe32Data. If + the PE/COFF image specified by Pe32Data is not a valid, then NULL is + returned. If the PE/COFF image specified by Pe32Data does not contain a + debug directory entry, then NULL is returned. If the debug directory entry + in the PE/COFF image specified by Pe32Data does not contain a PDB file name, + then NULL is returned. + If Pe32Data is NULL, then ASSERT(). + + @param Pe32Data Pointer to the PE/COFF image that is loaded in system + memory. + + @return The PDB file name for the PE/COFF image specified by Pe32Data or NULL + if it cannot be retrieved. + +**/ +VOID * +EFIAPI +PeCoffLoaderGetPdbPointer ( + IN VOID *Pe32Data + ); #endif diff --git a/MdePkg/Include/Library/PrintLib.h b/MdePkg/Include/Library/PrintLib.h index 412dc530bd..eb8a33b9c1 100644 --- a/MdePkg/Include/Library/PrintLib.h +++ b/MdePkg/Include/Library/PrintLib.h @@ -35,7 +35,7 @@ /// /// Flags bitmask values use in UnicodeValueToString() and -/// AcsiiValueToString() +/// AsciiValueToString() /// #define LEFT_JUSTIFY 0x01 #define COMMA_TYPE 0x08 @@ -56,7 +56,9 @@ If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned. If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT(). + If BufferSize > 1 and StartOfBuffer is not aligned on a 16-bit boundary, then ASSERT(). If BufferSize > 1 and FormatString is NULL, then ASSERT(). + If BufferSize > 1 and FormatString is not aligned on a 16-bit boundary, then ASSERT(). If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then ASSERT(). @@ -96,7 +98,9 @@ UnicodeVSPrint ( If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned. If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT(). + If BufferSize > 1 and StartOfBuffer is not aligned on a 16-bit boundary, then ASSERT(). If BufferSize > 1 and FormatString is NULL, then ASSERT(). + If BufferSize > 1 and FormatString is not aligned on a 16-bit boundary, then ASSERT(). If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then ASSERT(). @@ -136,6 +140,7 @@ UnicodeSPrint ( If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned. If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT(). + If BufferSize > 1 and StartOfBuffer is not aligned on a 16-bit boundary, then ASSERT(). If BufferSize > 1 and FormatString is NULL, then ASSERT(). If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator, then @@ -177,6 +182,7 @@ UnicodeVSPrintAsciiFormat ( If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned. If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT(). + If BufferSize > 1 and StartOfBuffer is not aligned on a 16-bit boundary, then ASSERT(). If BufferSize > 1 and FormatString is NULL, then ASSERT(). If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator, then @@ -229,6 +235,7 @@ UnicodeSPrintAsciiFormat ( add up to Width characters. If both COMMA_TYPE and HEX_RADIX are set in Flags, then ASSERT(). If Buffer is NULL, then ASSERT(). + If Buffer is not aligned on a 16-bit boundary, then ASSERT(). If unsupported bits are set in Flags, then ASSERT(). If both COMMA_TYPE and HEX_RADIX are set in Flags, then ASSERT(). If Width >= MAXIMUM_VALUE_CHARACTERS, then ASSERT() @@ -348,6 +355,7 @@ AsciiSPrint ( If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT(). If BufferSize > 0 and FormatString is NULL, then ASSERT(). + If BufferSize > 0 and FormatString is not aligned on a 16-bit boundary, then ASSERT(). If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then ASSERT(). @@ -389,6 +397,7 @@ AsciiVSPrintUnicodeFormat ( If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT(). If BufferSize > 0 and FormatString is NULL, then ASSERT(). + If BufferSize > 0 and FormatString is not aligned on a 16-bit boundary, then ASSERT(). If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then ASSERT(). diff --git a/MdePkg/Include/Library/UefiLib.h b/MdePkg/Include/Library/UefiLib.h index a302c26beb..ef10f136b4 100644 --- a/MdePkg/Include/Library/UefiLib.h +++ b/MdePkg/Include/Library/UefiLib.h @@ -254,24 +254,26 @@ EfiReleaseLock ( ); /** - Tests whether a controller is managed by a specific driver. + Tests whether a controller handle is being managed by a specific driver. - This function tests whether a specific driver manages ControllerHandle by - opening on DriverBindingHandle a protocol specified by ProtocolGuid with - attribute EFI_OPEN_PROTOCOL_BY_DRIVER. This library function is used to - implement the Component Name Protocol for EFI Drivers. + This function tests whether the driver specified by DriverBindingHandle is + currently managing the controller specified by ControllerHandle. This test + is performed by evaluating if the the protocol specified by ProtocolGuid is + present on ControllerHandle and is was opened by DriverBindingHandle with an + attribute of EFI_OPEN_PROTOCOL_BY_DRIVER. If ProtocolGuid is NULL, then ASSERT(). @param ControllerHandle A handle for a controller to test. @param DriverBindingHandle Specifies the driver binding handle for the driver. - @param ProtocolGuid Supplies GUID for the protocol opened by the - driver on the controller. + @param ProtocolGuid Specifies the protocol that the driver specified + by DriverBindingHandle opens in its Start() + function. - @retval EFI_SUCCESS ControllerHandle is managed by the specific - driver. - @retval EFI_UNSUPPORTED ControllerHandle is not managed by the specific - driver. + @retval EFI_SUCCESS ControllerHandle is managed by the driver + specifed by DriverBindingHandle. + @retval EFI_UNSUPPORTED ControllerHandle is not managed by the driver + specifed by DriverBindingHandle. **/ EFI_STATUS @@ -283,19 +285,18 @@ EfiTestManagedDevice ( ); /** - Tests whether a child handle is a children device of the controller. + Tests whether a child handle is a child device of the controller. - This function tests whether ChildHandle is one of the children of - ControllerHandle which are consuming a protocol specified by ProtocolGuid - with the attribute bit EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER set. This - library function is used to implement the Component Name Protocol for EFI - Drivers. - If ProtocolGuid is NULL, then ASSERT(). + This function tests whether ChildHandle is one of the children of + ControllerHandle. This test is performed by checking to see if the protocol + specified by ProtocolGuid is present on ControllerHandle and opened by + ChildHandle with an attribute of EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER. + If ProtocolGuid is NULL, then ASSERT(). @param ControllerHandle A handle for a (parent) controller to test. @param ChildHandle A child handle to test. - @param ConsumsedGuid Supplies GUID for the protocol consumed by - children from controller. + @param ConsumsedGuid Supplies the protocol that the child controller + opens on its parent controller. @retval EFI_SUCCESS ChildHandle is a child of the ControllerHandle. @retval EFI_UNSUPPORTED ChildHandle is not a child of the -- cgit v1.2.3