2. In Graphics.c, Memory Leak in Graphics Library, ConvertBmpToUgaBlt().
3. In HobLib.c, PeiBuildHobModule and three other functions do not zero hob reserved data area according to HOB spec v0.9.
4. In statuscode.h, the number of definition of EFI_SW_PEIM_PC_CAPSULE_START is equal to EFI_SW_PEIM_PC_CAPSULE_LOAD.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1861 6f19259b-4bc3-4df7-8a09-765794883524
Added PeCoffLoaderGetMachineType to the PeCoffGetEntryPointLibrary Class. Document to be updated.
Added the PeCoffLoaderImageReadFromMemory() and PeCoffLoaderRelocateImageForRuntime () to the PcCoffLib.
Updated EfiImage.h and removed EFI_IMAGE_OPTIONAL_HEADER and EFI_IMAGE_NT_HEADERS as they were replaced with checking the MachineType.
PeCoffLib – Added checks for MachineType so the PeCoff lib can load any PE32 or PE32+ image. The relocations are still limited to IA32, X64, IPF, and EBC. I also added a re-relocator function to remove PeLoader Code from Runtime Lib. Even though there is only one instance of the re-relocator I wanted to get all the PeCoff loader code together.
Replaced DEBUG_CODE() macro with DEBUG_CODE_START() and DEBUG_CODE_END() so you can debug through the DEBUG_CODE() macros. Also removed PE/COFF code and replaced with library usage.
I also updated the IO Instrinsic lib to use _ReadWriteBarrior() to help with sync problems
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1103 6f19259b-4bc3-4df7-8a09-765794883524
Change the behavior for PcdSET for Variable_Enabled Pcd entry. If a Variable does not exist, we will only save the value to a volatile space. We save it to variable ONLY when the variable exist.
Fix a few bugs in Pcd Build tool when generated Pcd database for Pcd entry with Unicode String type.
Support PcdSet to return MaxSize if the input SizeOfBuffer is greater than the Max Size declared in FPD file.
Add SetValueWorker and GetValueWoker for each PcdSET and PcdGET function to reduce code size.
Sync function prototype definition for PCD_PPI_SET_POINTER, PCD_PPI_SET_EX_POINTER, PCD_PROTOCOL_SET_POINTER and PCD_PROTOCOL_SET_EX_POINTER with PCD arch spec 0.52.
Add ASSERTION in LibPcdSetPtr.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@789 6f19259b-4bc3-4df7-8a09-765794883524
Fix a bug in PeiDxeDebugLibReportStatusCode: it should use gReportStatusCodeDebugType so that report status code infrastructure can correctly extract debug info.
Fix functional and coding style issues in the three instances in EdkModulePkg, namely: EdkDxeDebugLibReportStatusCode, EdkUefiDebugLibStderr, EdkUefiDebugLibConout.
DevicePathLib:
Sync with MWG 0.57 and add new interface of CreateDevicePathNode(). All the function headers have been updated.
PeiServicesLib:
Adjust coding style and fix a minor comment error.
PciLib:
Adjust assert() condition to sync with MWG 0.57
BaseMemoryLib:
Adjust assert() for ScanMemXX (), ScanGuid()
Rename UefiMemoryLib to DxeMemoryLib
PrintLib:
Change the return value of all print services to exclude the NULL-terminator.
Misc:
Slightly adjust the coding style in hob.c in PeiCore module.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@757 6f19259b-4bc3-4df7-8a09-765794883524
Modify some Aassert()s conditions to sync with MWG 0.56d
Modify some defects in function header.
• PostCodeLib:
Implement PeiDxePostCodeLibReportStatusCode.
• Misc
Rename BaseDebugLibReportStatusCode to PeiDxeDebugLibReportStatusCode
Remove tabs in all .c and .h files in MdePkg.
Rename PeiServicesReinstallPpi() to PeiServicesReInstallPpi()
Adjust some minor coding style in PeCoffLoaderGetEntryPointerLib()
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@626 6f19259b-4bc3-4df7-8a09-765794883524
2) change PCD_INVALID_TOKEN_NUMBER to 0 as stipulated in MWG spec and PCD spec.
3) support returning a Default Value when a read failure by variable service for PCD entry with Variable Enabled.
4) Remove a lot of unreferenced JAVA import from CollectPCDAction.java, PCDAutoGenAction.java, MemoryDatabaseManager.java, Token.java and UsageInstance.java.
5) Opimized to merge elements in all tables in PCD database for make the code compact.
6) Did a tighter check on how dynamic PCD entry is referenced in each module.
7) Update the PCD driver/PEIM and PCD database generation verion to 2.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@605 6f19259b-4bc3-4df7-8a09-765794883524
The MAX_BIT of EBC will no longer be fixed to bit 63. It is defined as (1ULL << (sizeof (INTN) * 8 - 1)).
Make EdkModulePkg & MdePkg EBC compiler clean: treat all EFI_STATUS error code as variable.
2. PrintLib
Complete all missing ASSERT()s.
Fix “\n” & “%\n” issue thanks to the clarification of MWG 0.56d.
Adjust StatusString array to support EBC build.
3. BaseMemoryLib
Adjust ASSERT () & function header of ComparaMem, SetMemXX, ScanMemXX to synchronize with MWG 0.56d.
4.SmbusLib
Change Pec bit to bit 22 SmBusAddress to synchronize MWG 0.56d.
Add ASSERT()s to check if length is illegal for SmBusBlockWrite() & SmBusProcessBlock() since it is 6 bit now.
5. PerformanceLib
Rename “EdkDxePerformanceLib” & “EdkPeiPerformanceLib” to “DxePerformanceLib” & “PeiPerformanceLib” respectively.
Synchronize the function header of GetPerformanceMeasurement() with MWG 0.56d.
6. BasePeCoffLoaderLib.
Make PeCoffLoaderLoadImage () Assert() if ImageContext is NULL>
Make PeCoffLoaderLoadImage () return RETURN_INVALID_PARAMETER if the ImageAddress in ImageContext is 0.
Adjust some coding style.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@593 6f19259b-4bc3-4df7-8a09-765794883524
1) Roll back PcdSetEx/PcdGetEx macro, module developer must input the token space guid explicitly, because in a module maybe two PCD with same CName and token number but in different token space guid.
2) Modify the generated value for _PCD_MODE_xxx for DynamicEx PCD. This macro will be mapped to PcdLibSetEx/PcdLibGetEx directly, and the parameter of token space guid is auto generated.
3) For token space guid array variable autogened, only one copy will be exists in a module's autogen C file for different PCD which are in same token space guid.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@575 6f19259b-4bc3-4df7-8a09-765794883524
2. Added assert() for AsmFxRestore() in x86LowLevel.c of BaseLib
3. Added assert() for LongJump() in LongJump.c of BaseLib
4. Changed parameter type of Value from "IN" to "IN OUT" for InterLockedComparedExchanged32/64/pointer() functions to sync with MWG-0.55a
5. Changed functions header of all BitField functions of BaseLib, BaseIoLibIntrinsic, BasePciCf8Lib, BasePciExpressLib, BasePciLibCf8, BasePciLibPciExpressLib DxeIoLibCpuIo, PeiIoLibCpuIo etc, to follow MWG-0.55a.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@565 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
1) PcdGet8/PcdGet32/... to get a value of DynamicEx PCD, same as PcdSetxx
2) PcdGet8Ex/PcdGet32Ex to get a value of DynamicEx PCD, same as PcdSetxxEx.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@549 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
Correct wrong ASSERT()s on SetMem16(), SetMem32(), SetMem64()
HobLib:
Add Missing ASSERT()s for BuildGuidHobData() since CopyMem() now allow zero source buffer with length > 0.
BasePrintLib
Add ASSERT()s to check NULL buffer and NULL format.
PostCodeLib
Add 3 instances of PostCodeLib and introduce new Pcd for post code property mask.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@438 6f19259b-4bc3-4df7-8a09-765794883524
Add two new interfaces of EfiCreateEventLegacyBootEx & EfiCreateEventReadyToBootEx
Fix a bug in EfiCreateEventLegacyBoot & EfiCreateEventReadyToBoot. (#51)
PciLib:
Add missing ASSERT()s in PciReadBuffer() & PciWriteBuffer() (#70)
IoLib
Add ASSERT()s to check alignment.
MemoryAllocationLib:
For AllocateXXXCopyBuffer(). Add ASSERT()s for cases when allocations fails.
BaseLib:
Change the return type of InternalMathModU64x32 from UINT64 to UINT32
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@416 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
Complete function header, detailed description, ASSERT()s & pass smoke test in MRC of Lakeport package by replacing Smbus PPI.
*Device Patch Lib
Fix a bug in AppendDevicePathNode() (Solve Track #44 in Remodel PVCS). The original logic failed if the first device path was NULL.
*Performance Lib
Add PeiPerformanceHob & Performance protocol in spd file in EdkModule Package (Solve Tracker #41, #42 in Remodel PVCS).
*Hob Lib
Add detailed description for each Hob function.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@126 6f19259b-4bc3-4df7-8a09-765794883524
Remove Arp Related interfaces
Change the return type of SmbusQuickWrite from “BOOLEAN” to “VOID”
Complete interface SmBusBlockProcessCall()
Make the PEC bit “bit 21” of SMBUS address. If data show that MSB helps to save code size in BaseSmbusLib, we may simply redefine it to be MAX_BIT.
UefiLib
Modify the interfaces in UefiNotTiano.c to sync with spec
MemoryAllocationLib
Add extra checking in “Aligned” Memory services to prevent “AllocationSize + OverAllocation” overflow in DxeMemoryAllocationLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@23 6f19259b-4bc3-4df7-8a09-765794883524