Commit Graph

7883 Commits

Author SHA1 Message Date
qhuang8 1a76fbef84 Save label "@F" to 64-bit register (r10) instead of 32-bit register (eax) in case label @F is above 4G.
Use "far retq" to load CS and 64-bit rip instead.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8455 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-03 08:11:34 +00:00
jljusten 693c4e024f Fix minor typos in comments.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8454 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-03 05:59:40 +00:00
vanjeff 8c8f3dcb17 changed %s to %a to print correct ascii string.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8453 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-03 05:43:22 +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 97f778151b Make sure BASE_LIST is always aligned on a 64-bit boundary
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8451 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-03 03:47:55 +00:00
lgao4 86fe4ef3f8 Update GenFw tool to zero time/date by default.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8450 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-03 03:22:08 +00:00
gikidy 6a729dcaf4 Fix <.><..> can not work correctly on NT32 platform.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8449 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-03 03:11:36 +00:00
gikidy 20621542f6 The data length of a text request must not exceed the iSCSI target MaxRecvDataSegmentLength.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8448 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-03 02:25:48 +00:00
eric_tian 134c1f33ed modify the implementation of GetInterface and GetConfiguration to force the high byte of output type parameters zero.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8447 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-03 01:57:56 +00:00
eric_tian 35c218d7e6 fix the HiiStrIdToImage sct failure, which is caused by wrong algorithm of finding right-most line break opportunity.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8446 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-03 01:43:47 +00:00
qhuang8 071b7221a5 Use DiskIo->WriteDisk() API to avoid alignment issue.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8445 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-02 23:51:18 +00:00
qhuang8 d48e8b0afa Use rip relative addressing for x64 label for Thunk16.S to prevent GCC assembly from generating 32-bit value with HIGHLOW fixup.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8444 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-02 23:40:06 +00:00
lgao4 ac4e7050a3 Fix bug to fill Startup AP Vector address in FvImage
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8443 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-02 08:49:35 +00:00
klu2 740cce9ec0 The MULTIPLE_THREAD should be choice from "Disable", "Enable" but not "TRUE", "FALSE"
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8442 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-02 07:12:54 +00:00
klu2 ecb11926ec The MULTIPLE_THREAD should be choice from "Disable", "Enable" but not "TRUE", "FALSE"
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8441 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-02 07:10:41 +00:00
klu2 c9d0e0815b Add MULTIPLE_THREAD option.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8439 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-02 03:02:10 +00:00
mdkinney bc61c01ae5 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@8438 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-01 22:42:58 +00:00
mdkinney d94f1f35a1 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@8437 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-01 22:42:42 +00:00
mdkinney be71cc9f73 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@8436 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-01 22:42:21 +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 b088ba369e 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@8434 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-01 21:19:53 +00:00
mdkinney fd89439238 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@8433 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-01 21:18:30 +00:00
mdkinney 2c236ad7bc 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@8432 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-01 21:18:12 +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 cdf360f8e4 Remove unnecessary use of gEfiStatusCodeSpecificDataGuid and sync algorithm with NT32 OEM Hook Status Code Lib
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8430 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-01 20:15:20 +00:00
mdkinney 8b35a9caa4 Remove unnecessary use of gEfiStatusCodeSpecificDataGuid
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8429 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-01 20:14:18 +00:00
mdkinney 0ca9ea41f9 Remove the GUID declared as gEfiStatusCodeDataTypeErrorGuid and EFI_STATUS_CODE_DATA_TYPE_ERROR_GUID because it is not present in the Intel Framework Specifications.
Remove the GUID declared as gEfiStatusCodeDataTypeProgressCodeGuid and EFI_STATUS_CODE_DATA_TYPE_PROGRESS_CODE_GUID because it is not present in the Intel Framework Specifications.




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8428 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-01 19:59:53 +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 810881f08f 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@8426 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-01 18:41:05 +00:00
mdkinney d4764d1f64 Remove the GUID declared as gEfiStatusCodeDataTypeExceptionHandlerGuid and EFI_STATUS_CODE_DATA_TYPE_EXCEPTION_HANDLER_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 with a CPU exception record.  The subclass of the error code defines the type of processor exception.  Any consumer of produced status codes should evaluate the error code to determine if it is a CPU exception type, and then know how to interpret the extended data as a CPU exception record.




git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8425 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-01 18:18:52 +00:00
klu2 a7ef0a80e1 1, Add checking for input parameter tool tag which is used to find external tools.
2, Make some minor fixing for TargetTool.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8424 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-01 08:56:04 +00:00
qhuang8 e2c6e69afe Update shell binaries to use the newest EDK shell snapshot. This version has integrate the patch to use EDKII GetBestLanguage() to solve RFC 4646 language matching issue in drivers, dh, DevTree, etc.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8423 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-01 08:44:07 +00:00
eric_tian 3cc6e8eec9 a typo of ISCSI string
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8422 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-01 08:33:55 +00:00
eric_tian 3fc15d4c19 fix the typo of ISCSI related string.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8421 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-01 08:32:28 +00:00
qhuang8 70ffafd4f2 Remove ShellHotFix.patch since the newest EDK shell snapshot has integrated the complete fix for RFC 4646 language match issue in drivers, dh, DevTree, etc.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8420 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-01 08:16:33 +00:00
vanjeff ae6a37f06b 1. removed an extra call to SetVectorBase() in the SetMode() function.
2. implemented GetInterruptLine() function.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8418 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-01 07:16:03 +00:00
lgao4 6535652ebd Add directory for the new added Language Library.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8417 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-01 06:46:03 +00:00
gikidy ae3d1e91ef Replaced ASM_GLOBAL with .global, and add start label for some files to avoid link warnings.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8416 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-01 03:25:36 +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 071a9a1f65 Correct parameter names for ASSERT() checks.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8414 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-31 17:19:40 +00:00
rsun3 94fe1ac9f6 Update build.exe after StrGather was updated. Add -s build flag in EdkShellPkg.dsc so that .UNI files with ISO 639-2 language codes of EDK Shell can be built.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8413 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-31 07:46:19 +00:00
klu2 2ef9435a77 Fix the bug that PCD driver treat StringTableIndex as UINT8 value but in fact it is UINT16 value.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8412 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-31 05:44:48 +00:00
mdkinney 1f53f7bb99 Update SecMain for Nt32 to use WriteFile() for all status code related console output so the same mechanism is used for SEC, PEI, and DXE. Previously SEC and PEI were using printf() and DXE was using WriteFile() and the order of the messages was not correct in all cases. By using the same method for all status code output, the order of the messages is correct.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8411 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-31 00:19:54 +00:00
mdkinney a776476a83 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 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@8410 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-31 00:06:01 +00:00
mdkinney 9c98c8e106 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 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@8409 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-30 23:55:11 +00:00
mdkinney 53d74081d0 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 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@8408 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-30 23:54:42 +00:00
mdkinney b5a8e95c5e 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 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@8407 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-30 23:54:11 +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
mdkinney 504dcb0a4e 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 the Print2 Protocol to only use arguments of type BASE_LIST.  Since this is a change to the protocol definition, the GUID has also been updated.
2) Update the implementation of DxePrintLibPrint2Protocol for the update definition of the Print2 Protocol.  Since the PrintLib does contain APIs that use VA_LIST, this library must convert arguments of type VA_LIST to arguments of type BASE_LIST prior to calling the Print2 Protocol services.
3) Update the implementation of PrintDxe to match the updated Print2 Prootocol





git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8405 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-30 23:49:35 +00:00
mdkinney 2075236eef 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.
Add BASE_LIST type to Base.h
Add BAS_ARG() macro to Base.h
Add 4 functions to PrintLib.h that use BASE_LIST.
Change ReportStatsuCodeExtractDebugInfo() from ReportStatusCodeLib.h to take a BASE_LIST argument instead of a VA_LIST argument
Add the 4 new functions to BasePrintLib implementation that use BASE_LIST
Update BaseReportStatusCodeLib implementation of ReportStatsuCodeExtractDebugInfo() to use a BASE_LIST argument instead of a VA_LIST argument



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8404 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-30 23:45:50 +00:00