Commit Graph

29 Commits

Author SHA1 Message Date
Baraneedharan Anbazhagan 1ffe7cc562 IntelFrameworkModulePkg: DebugAssert enhancement
If the assert happens in a library, then it's hard to determine which module
using that library is generating that assert. Use gEfiCallerBaseName in
DebugAssert to display the module name.

In V2: Updated patch to use CopyMem instead of AsciiSPrint.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Baraneedharan Anbazhagan <anbazhagan@hp.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19129 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-07 03:06:58 +00:00
Hao Wu d5cbc27b00 IntelFrameworkModulePkg PeiDxeDebugLib: Use safe string functions
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17734 6f19259b-4bc3-4df7-8a09-765794883524
2015-06-30 06:26:20 +00:00
Qiu Shumin 94e3eee6e8 IntelFrameworkModulePkg: Add %u and %lu support for DebugLib.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17569 6f19259b-4bc3-4df7-8a09-765794883524
2015-06-08 05:27:30 +00:00
Liming Gao 4569c9e655 IntelFrameworkModulePkg: Cleanup PeiDxeDebugLibReportStatusCode
Cleanup PeiDxeDebugLibReportStatusCode library instance not to depend on
IntelFrameworkPkg and IntelFrameworkModulePkg.

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: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17109 6f19259b-4bc3-4df7-8a09-765794883524
2015-04-03 02:48:11 +00:00
Liming Gao 30aba8d334 IntelFrameworkModulePkg: Update PeiDxeDebugLibReportStatusCode library
Implement new API DebugPrintLevelEnabled() to base on PCD PcdFixedDebugPrintErrorLevel.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16786 6f19259b-4bc3-4df7-8a09-765794883524
2015-02-06 06:32:49 +00:00
lgao4 856d643816 Update PeiDxeDebugDebugLibReportStatusCode to use CopyMem() in place of AsciiStrnCpy() to copy ASCII string to save size.
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13441 6f19259b-4bc3-4df7-8a09-765794883524
2012-06-12 02:16:16 +00:00
lgao4 ea1b39e617 Update PeiDxeDebugLibReportStatusCode library instance to print partial ASSERT message if ASSERT message is too big.
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13339 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-21 06:10:21 +00:00
rsun3 3bbe68a362 Add Missing invocations to VA_END() for VA_START().
Signed-off-by: rsun3
Reviewed-by: lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12979 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-01 06:06:08 +00:00
mdkinney c77b88d627 Update DebugLib to provide support for "err" command in the EFI Shell to adjust the filter mask for DEBUG() messages. The "err" command provide the ability to adjust this filter mask at a global level through an EFI Variable and at the module level through a the Debug Mask Protocol. In order to support the degree of flexibility, the DebugLib needs to use library to abstract the get/set operations to the filter mask.
1) Update PeiDxeDebugLibReportStatusCode to use DebugPrintErrorLevelLib instead of the PcdDebugPrintErrorLevel PCD.
2) Add default mappings for the DebugPrintErrorLevelLib to the DSC file for this package.






git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11368 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-10 22:25:34 +00:00
hhtian 180a5a35cb Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10414 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23 16:28:26 +00:00
eric_tian a115836609 update file/function comments to list the string length limitation.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9596 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-24 03:22:31 +00:00
qhuang8 3d747a890f Refactor the code logic to reduce code size for debug tip.
The original switch case statements does not generate space efficient size when optimization is disabled. 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9221 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-01 15:05:34 +00:00
eric_tian 0fac539f37 recalculate the total size of format string printed by DebugPrint().
To ensure constructed BaseListMarker can work on IPF, code preserves 4bytes to guarantee it's 64bits alignment. So the calculation algorithm on total size also should be updated.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9062 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-13 02:33:05 +00:00
mdkinney 79bc7a89f7 Remove extra #includes where possible to make build more efficient
If module really is a Framework module and not a PI module, then use FrameworkDxe.h instead of PeDxe.h


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8900 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-11 23:27:49 +00:00
rsun3 7d2beb7e11 Remove an inline assembly statement added for debug
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8601 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-18 11:21:09 +00:00
xli24 9ba6cd30fa Code scrub for PeiDxeDebugLibReportStatusCode.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8594 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-18 07:25:24 +00:00
mdkinney 785e0c0743 Retire <FrameworkModuleBase.h>, <FrameworkModuleDxe.h>, and <FrameworkModulePei.h>
They only provided a single #define that is associated with DEBUG() messages sent through ReportStatusCode.  That one #define has now been added to <Guid/StatusCodeDataTypeDebug.h>


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8487 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-07 01:13:02 +00:00
xli24 e79a2975ad Remove ASSERT (TotalSize <= sizeof (Buffer));
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8461 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-04 04:30:39 +00:00
mdkinney 6916d99cb7 Fix IPF alignment fault caused by addition of BASE_LIST type that was added to resolve the X64 GCC VA_LIST issue.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8452 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-03 03:50:15 +00:00
mdkinney 1ca88083d4 Increase source portability by replace the use of EFI_STATUS_CODE_DATA_MAX_SIZE with sizeof(Buffer)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8435 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-01 22:41:57 +00:00
mdkinney 3a6064fa3b 1) Move gEfiStatusCodeDataTypeDebugGuid from the IntelFrameworkPkg to the IntelFrameworkModulePkg. This GUID is not defined in the Framework Specifications, so it is part of the implementation. This GUID is used to pass DEBUG() information to the Status Code Protocol and PPI. This GUID is now defined in IntelFrameworkModulePkg/Include/Guid/StatusCodeDataTypeDebug.h. The GUID definition was also moved from the DEC file in the IntelFrameworkPkg to the IntelFrameworkModulePkg.
2) Move data structure use to pass DEBUG() info to Status Code Protocol and Status Code PPI from IntelFrameworkModulePkg.Include/DebugInfo.h into the new GUID file IntelFrameworkModulePkg/Include/Guid/StatusCodeDataTypeDebug.h

3) Delete IntelFrameworkModulePkg/Include/DebugInfo.h because all the content is now in IntelFrameworkModulePkg/Include/Guid/StatusCodeDataTypeDebug.h

Module Impacts
==============
1) Modules that currently use #include <DebugInfo.h> must be updated to #include <Guid/StatusCodeDataTypeDebug.h>.  
2) Modules that currently use #include <Guid/StatusCodeDataTypeId.h> and don't #include <DebugInfo.h> will have to add #include <Guid/StatusCodeDataTypeDebug.h>.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8431 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-01 21:17:41 +00:00
mdkinney 1872ccab74 Remove the GUID declared as gEfiStatusCodeDataTypeAssertGuid and EFI_STATUS_CODE_DATA_TYPE_ASSERT_GUID because it is not present in the Intel Framework Specifications.
Any usage of this GUID should be replaced with gEfiStatusCodeSpecificDataGuid or EFI_STATUS_CODE_SPECIFIC_DATA_GUID.  The Intel Framework Specification Status Codes 0.92 defines the method for producing a status code for an ASSERT() condition by using an error code of EFI_SW_EC_ILLEGAL_SOFTWARE_STATE.  Any consumer of produced status codes should evaluate the error code to determine if it is an ASSERT() type, and then know how to interpret the extended data as EFI_DEBUG_ASSERT_DATA.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8427 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-01 18:41:56 +00:00
mdkinney 3d7dfb3886 Change (UINT8 *) to (CHAR *) to make types the same for comparison operations
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8415 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-31 17:22:48 +00:00
mdkinney ca9938b842 This checkin addresses the compatibility issue of passing arguments of type VA_LIST between components. The type VA_LIST is mapped onto the compiler specific implementation of varargs. As a result, modules build with different compilers may not use the same VA_LIST structure. The solution to this issue is to define a new type called BASE_LIST that is a compiler independent method of passing varargs between modules.
1) Update all implementations of ReportStatusCodeExtractDebugInfo() to use an argument of type BASE_LIST instead of VA_LIST.
2) Update the implementation of DebugPrint() in PeiDxeDebugLibReportStatusCode to convert a VA_LIST to a BASE_LIST before passing the data to report status code.
3) Update status code listeners to use the BASE_LIST based APIs in the PrintLib instead of the VA_LIST based APIs, since ReportStatusCodeExtractDebugInfo() was updated to return a parameter of type BASE_LIST.



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8406 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-30 23:53:35 +00:00
lgao4 8191cd5efd Enhance PciCfg2 driver to handle unaligned Pci access according to PI spec.
Remove the undefined logic to process gEfiStatusCodeSpecificDataGuid status code data.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7078 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-18 07:41:58 +00:00
qwang12 967c09fa7c Update doxygen comment.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6620 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-19 03:24:16 +00:00
eric_tian 584125bcba code review's result.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5633 6f19259b-4bc3-4df7-8a09-765794883524
2008-08-12 07:20:10 +00:00
klu2 551ed06f60 Move EFI_STATUS_CODE_DATA_MAX_SIZE from IntelFrameworkPkg to IntelFrameworkModulePkg
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3648 6f19259b-4bc3-4df7-8a09-765794883524
2007-08-16 02:57:03 +00:00
klu2 2287f237ee 1) Move EFI_DEBUG_INFO structure to IntelFrameworkModule/Include/DebugInfo.h header file.
2) Move BaseReportStatusCodeLib, PeiDxeDebugLibReportStatusCode, DxeReportStatusCodeLibFramework,PeiReportStatusCodeLib to IntelFrameworkModulePkg

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3601 6f19259b-4bc3-4df7-8a09-765794883524
2007-08-10 05:29:45 +00:00