qwang12 [Mon, 12 Mar 2007 09:58:28 +0000 (09:58 +0000)]
Add a lock to protect the critical region in Service APIs for gEfiBlockIoProtocolGuid and gEfiSimpleFileSystemProtocolGuid Protocol to prevent re-entrance of the same API from from different TPL level. In UEFI 2.1 spec, it is state that the service API for this Protocol is callable at EFI_TPL_CALLBACK level.
qwang12 [Mon, 12 Mar 2007 09:48:53 +0000 (09:48 +0000)]
Add a lock to protect the critical region in Service APIs for gEfiBlockIoProtocolGuid and gEfiSimpleFileSystemProtocolGuid Protocol to prevent re-entrance of the same API from from different TPL level. In UEFI 2.1 spec, it is state that the service API for this Protocol is callable at EFI_TPL_CALLBACK level.
qwang12 [Mon, 12 Mar 2007 09:42:34 +0000 (09:42 +0000)]
Add a lock to protect the critical region in Service APIs for gEfiSimpleTextOutProtocolGuid Protocol to prevent re-entrance of the same API from from different TPL level. In UEFI 2.1 spec, it is state that the service API for this Protocol is callable at EFI_TPL_NOTIFY level.
qwang12 [Mon, 12 Mar 2007 07:56:16 +0000 (07:56 +0000)]
Add a lock to protect the critical region in Service APIs for UEFI Runtime Variable Service to prevent re-entrance of the variable service API from from different allowable TPL level. In UEFI 2.x and EFI 1.10 spec, EFI_TPL_CALLBACK is the allowable TPL level for Variable services.
qwang12 [Mon, 12 Mar 2007 07:47:33 +0000 (07:47 +0000)]
Add a lock to protect the critical region in Service APIs for gEfiBlockIoProtocolGuid Protocol to prevent re-entrance of the same API from from different TPL level.
jwang36 [Mon, 12 Mar 2007 06:57:33 +0000 (06:57 +0000)]
Fixed EDKT532 and EDKT533
- Support GUID CName in <Events>, <SystemTables>, <DataHubs>, <HiiPackages>, <Hobs> in msa file
- Support auto-insert related header file of DebugLib and UefiBootServicesTableLib according to module type
jwang36 [Sat, 10 Mar 2007 14:23:39 +0000 (14:23 +0000)]
Commented out the pre-compile option of IPF ARCH for ICC tool chain. There's an issue in it which will cause incremental build failure. And it seems that there's not much improvement on build performance of Intel compiler. Comment out the pre-compile functionality for further investigation.
jwang36 [Thu, 8 Mar 2007 01:44:17 +0000 (01:44 +0000)]
- Fixed PVCS tracker 484 by merging the GenDll and GenEfi macro in BuildMacro.xml to GenEfi, moving out GenDll and GenEfi macro calling inside macro EFI_SECTION_TE and EFI_SECTION_PE32, and generating the calling of GenEfi macro according to the module type (binary or library).
- Cleaned the coding style of AutoGen.java
lgao4 [Mon, 5 Mar 2007 06:25:35 +0000 (06:25 +0000)]
Correct APPLICATION_EFI ffs key file type from EFI_FV_FILETYPE_DRIVER to EFI_FV_FILETYPE_APPLICATION, and remove depex section from application ffs layout.
klu2 [Fri, 2 Mar 2007 08:21:43 +0000 (08:21 +0000)]
In IdeBus driver block I/O read/write interface, it will always try to use UDMA mode first, if fails, then try to use PIO mode.
This may cause side effects if disk does not support UDMA mode and also let bad performance.
The modification is to record supported mode and only try supported mode when do disk read/write.
Also this patch combines the code for read/readex/write/writex to reduce code size.
qhuang8 [Wed, 28 Feb 2007 07:41:28 +0000 (07:41 +0000)]
1. Fix an issue about the calculation of GlyphBufferSize
2. Fix a bug in handling the overlapped case by reverse-copying the destine region & source region
3. Fix an issue that the leading spaces could not be displayed in highlight mode
xli24 [Wed, 14 Feb 2007 07:19:58 +0000 (07:19 +0000)]
Temporarily disable /WX for HelloWorld module, for there is a bug in tool, which causes inconsistency between UefiApplicationLib and AutoGen.c leading to warning of ICC compiler.
qhuang8 [Tue, 13 Feb 2007 12:18:12 +0000 (12:18 +0000)]
Clean up MSA for MDE Libs:
1. Remove unreferenced Guid of gEfiStatusCodeDataTypeAssertGuid in PeiReportStatusCodeLib & DxeReportStatusCodeLib.msa
2. Remove dependency of BaseLib for SmmEntryPointerLib & PeiServicesTablePointerLibKr1
3. Add accurate arch support for SecPeiDxeTimerLibCpu & correct PcdFSBClock to "DYNAMIC"
4. Add dependency of gEfiDevicePathProtocolGuid for DevicePathLibDevicePathProtocol
5. Remove dependency of BaseLib & UefiRuntimeServicesTablePointerLib for UefiDriverEntryPointLib
qhuang8 [Tue, 13 Feb 2007 11:12:05 +0000 (11:12 +0000)]
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
qwang12 [Tue, 13 Feb 2007 01:47:44 +0000 (01:47 +0000)]
Update all String related functions in BaseLib for this change introduced in Mde Library Spec 0.60e:
"Updated all functions that take pointers to Unicode strings as parameters to ASSERT() if the pointer is not aligned in a 16-bit boundary."
qwang12 [Mon, 12 Feb 2007 02:53:23 +0000 (02:53 +0000)]
1) Added BIT0, BIT1, …, BIT63 to the Base Defines
2) Added MIN() and MAX() macros to the Base Macros
3) Added StrStr(), StrDecimalToUnitn(), StrDecimalToUint64(), StrHexToUintn(), StrHexToUintn64(), UnicodeToAscii(), AsciiStrStr(), AsciiStrDecimalToUnitn(), AsciiStrDecimalToUint64(), AsciiStrHexToUintn(), AsciiStrHexToUintn64(), and AsciiToUnicode() to the Base Library String Functions
4) Added the Base Library Checksum Functions which include CalculateSum8(), CaclculateCheckSum8(), CalculateSum16(), CalculateChecksum16(), CalculateSum32(), CalculateCheckSum32(), CalculateSum64(), CalculateChecksum64().
5) Added MMIO Buffer functions to the I/O Library including MmioReadBuffer8(), MmioReadBuffer16(), MmioReadBuffer32(), MmioReadBuffer64(), MmioWriteBuffer8(), MmioWriteBuffer16(), MmioWriteBuffer32(), MmioWriteBuffer64().
6) Changed the parameter name from SizeOfValue to SizeOfBuffer in PcdSetPtr(), PcdSetPtrEx(), PatchPcdSetPtr(), LibPcdSetPtr(), LibPcdSetPtrEx(), LibPatchPcdSetPtr()
7) Added RADIX_HEX flag to the Print Library to support the conversion of values to hexadecimal strings in UnicodeValueToString() and AsciiValueToString()
jwang36 [Mon, 5 Feb 2007 06:25:58 +0000 (06:25 +0000)]
Add genDigest() method to class FfsProcess to generate MD5 digest value for the FFS layout. This is intended to solve re-generation issue of FFS when its layout has been changed but no related section files have been changed.
qhuang8 [Mon, 5 Feb 2007 05:54:16 +0000 (05:54 +0000)]
1.Drop the support of UEFI_APPLICATION for UefiDriverLib
2.Change the module type of BaseUefiDecompressLib to BASE
3.Remove the IoLib dependency for PeiReportStatusCodeLib & DxeReportStatusCodeLib
4.Change the module type of UefiApplicationEntryPointLib to UEFI_APPLICATION
5.Change the module type of EdkDxeRuntimeSalLib to DXE_RUNTIMe
6.Change HelloWorld application to depend on UefiApplicationEntryPointLib and modify the EdkModule.fpd, Nt32.fpd & Unix.fpd accordingly
jlin16 [Fri, 2 Feb 2007 10:11:03 +0000 (10:11 +0000)]
1. Refresh applicable library instances after one illegal library instance is removed.
2.Remove library instances that is only consumed by one library instance when deleting this library instance from a module in platform.
vanjeff [Fri, 2 Feb 2007 05:36:42 +0000 (05:36 +0000)]
1. removed BaseTimerLibLocalApic from MdePkg and Nt32TimerLib from EdkNt32Pkg.
2. added BaseTimerlibNullTemplate in MdePkg and SecPeiDxeTimerLibCpu in MdePkg.
3. modified the related spd and fpd files
klu2 [Thu, 1 Feb 2007 08:42:59 +0000 (08:42 +0000)]
EFI_CONSOLE_CONTROL_PROTOCOL provide the SetMode interface to switch mode between EfiConsoleControlScreenText and EfiConsoleControlScreenGraphics. And implementation of this interface is in EdkModlePkg\Universal\Console\ConSplitter\Dxe\ConSplitterGraphices.c ConSpliterConsoleControlSetMode().
In this function, it is better to judge current mode with wanted mode at first, if current mode is equal to wanted mode, then return and do nothing. Why need add judging:
1) Missing judge will lead an issue that screen splash when pressing key in front page. It is caused by ui.c will switch to textmode when first in, but current mode has been in text mode.
2) If switching to text mode, there are many works want to be done such as EnableCursor, ClearScreen. If original has been in text mode, judging will improve the performance of UI.
klu2 [Thu, 1 Feb 2007 03:05:49 +0000 (03:05 +0000)]
There is a bug in original EdkModulePkg\Library\EdkUefiRuntimeLib\Common\RuntimeLib.c. Originally, if a driver did not produce a <SetVirtualAddressMapCallBack>'s function, EFI_EVENT_SIGNAL_VIRTUAL_ADDRESS_CHANGE notify event will not be created in RuntimeDriverLibConstruct(), This is a bug, because at least, mRT pointer need to be converted for runtime service.
This bug will lead runtime interface GetMonoCount() failure because EdkModulePkg\Universal\MonotonicCounter\RuntimeDxe driver does not produce any <SetVirtualAddressMapCallBack>'s function.