Modify the preprocessor check for variadic macro support. The existing
check assumes all Microsoft compilers with major version of 14 and greater
support variadic macros. This is almost correct. An exception is the X64
compiler from DDK3790. This compiler has version 14.00.40310.41, yet does
not support variadic macros. Both VS2005 compilers have version number
14.00.50727.762 and do support variadic macros. For simplicity, this change
suppresses the use of variadic macros for all Microsoft compilers with
version 14 or smaller. If the variadic macro support needs to be restored
for VS2005, that could be done using new logic invloving _MSC_FULL_VER.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Scott Duplichan <scott@notabs.org>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17155 6f19259b-4bc3-4df7-8a09-765794883524
This API is applied in _DEBUG_PRINT() macro for build time size optimization.
DebugLib library instance should implement this API to return the constant value.
DEBUG_PRINT() will base on __VA_ARGS__ for build time size optimization.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16787 6f19259b-4bc3-4df7-8a09-765794883524
1) Define new DebugPrintErrorLevelLib that produces an API that DebugPrint() APIs in DebugLib implementations can use to retrieve the current mask for filtering DebugPrint() statements.
2) Add a BASE type implementation of the DebugPrintErrorLevelLib that directly accessed PcdDebugPrintErrorLevel to provide backward compatibility with the current EDK II DebugLib behavior.
3) Update description of the DebugPrint() API in the DebugLib to describe the new dependency on the DebugPrintErrorLevelLib that replaces the prior dependency in the PcdDebugPrintErrorLevel PCD.
4) Update the comments in BaseDebugLibNull to match (3).
5) Update BaseDebugLibSerialPort to use DebugPrintErrorLevelLib instead of the PcdDebugPrintErrorLevel PCD.
6) Update UefiDebugLinConOut to use DebugPrintErrorLevelLib instead of the PcdDebugPrintErrorLevel PCD.
7) Update UefiDebugLibStdErr to use DebugPrintErrorLevelLib instead of the PcdDebugPrintErrorLevel PCD.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11365 6f19259b-4bc3-4df7-8a09-765794883524
MdePkg\Library\CpuLib.h, DebugLib.h,DevicePathLib.h, DxeServicesLib.h, DxeServicesTableLib.h, ExtractGuidedSectionLib.h, HobLib.h
with the c file instance of this functions in MdePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6727 6f19259b-4bc3-4df7-8a09-765794883524
Rename BasePostCodeLib80 to BasePostCodeLibPort80.
Fix typos in macro POST_CODE() and POST_CODE_WITH_DESCRIPTION()
2. DebugLib
Change the parameter type of LineNumber of DebugAssert() from “INTN” to “UINTN” to follow MWG.
Add type cast “(EFI_GUID *)” in macro ASSERT_PROTCOL_ALREADY_INSTALLED () to follow MWG.
3. BasePeCoffLib/
Add library function header for all the interfaces in MWG.
Add missing ASSERT()s.
4. PciLib
Add ASSERT()s in PciRead/WriteBuffer() to check cross PCI function access.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@557 6f19259b-4bc3-4df7-8a09-765794883524
Fix a logic error in SetMem64 (); The correct stride should be 8 instead of 4.
BasePrintLib:
Fix Printf(“%\n”) passer error.
Fix BufferSize = 0, 1 issue
Fix some missing ASSERT ()s
Move MAXIMUM_VALUE_CHARACTERS from PrintLibInternal.h to PrintLib.h
ReportStatusCodeLib:
Add CONST modifier to some interfaces
Modify
DebugLib:
Replace some Unicode in comments.
PeiServicesTablePointerLib
Add ASSERT()s
PciLib:
Remove unnecessary ASSERT()s in PciRead/WriteBuffer()
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@496 6f19259b-4bc3-4df7-8a09-765794883524
DxeMemoryAllocationLib: Change the behavior from returning NULL to ASSERT ()
PeiMemoryAllocationLib: Add ASSERT ()
I also add ASSERT () in Pei Service AllocatePool () to catch if allocation size > 64K
DebugLib:
Header file (DebugLib.h): Fix an issue in ASSERT_PROTOCOL_ALREADY_INSTALLED(Handle, Guid).
In contrast with LocateProtocol (), the first & second parameter type of HandleProtocol () is EFI_HANDLE & EFI_GUID respectively.
UefiLib:
For UnicodeStringDisplayLength (CONST CHAR8 *String), return 0 if String is NULL.
BasePrintLib:
Add missing “EFIAPI” to UnicodeValueToString() and AsciiValueToString() and move their definitions from PrintLibInternal.c to PrintLib.c.
Fix the comments error(Maximum Length TIME”)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@275 6f19259b-4bc3-4df7-8a09-765794883524