Commit Graph

397 Commits

Author SHA1 Message Date
qwang12 1de04b4f83 Add in support for MaxSize and CurrentSize for PCD entry.
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
2006-07-06 06:10:20 +00:00
lgao4 36122070ec git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@784 6f19259b-4bc3-4df7-8a09-765794883524 2006-07-06 04:02:57 +00:00
qhuang8 add13dc217 DebugLib:
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
2006-07-05 04:17:04 +00:00
qwang12 1eb73ab57a Added LibPatchPcdSetPtr.
Cleaup Pcd Database code generation routine.
Fixed a few bugs.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@745 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-04 12:43:59 +00:00
qwang12 bb5545b663 Add PcdDxe and PcdPEIM to all-arch for EdkModulePkg-All-Archs.fpd
Fix a few bugs in PcdDxe and PcdPEIM


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@722 6f19259b-4bc3-4df7-8a09-765794883524
2006-07-03 15:40:49 +00:00
vanjeff 30817eb4e4 1.Updated some functions header of BaseLib with new MWG spec
2.Rollback EnablePaging64.asm

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@669 6f19259b-4bc3-4df7-8a09-765794883524
2006-06-30 08:40:03 +00:00
lgao4 b206d01d42 Sync DebugSupport Protocol with UEFI2.0 spec
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@656 6f19259b-4bc3-4df7-8a09-765794883524
2006-06-29 10:31:10 +00:00
qhuang8 24e25d11c0 • BaseMemoryLib:
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
2006-06-26 10:18:28 +00:00
qwang12 4276d5dacf 1) Add in support to traverse taken space
2) Remove unused import in DynamicTokenValue.java.
3) Support Byte Stream input for Pointer type Dynamic PCD entry in FPD file.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@616 6f19259b-4bc3-4df7-8a09-765794883524
2006-06-23 14:41:16 +00:00
klu2 57a38e69b0 Enabling use PcdSetXX macro to set value for PATCHABLE_IN_MODULE, DYNAMIC, DYNAMIC_EX type PCD
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@614 6f19259b-4bc3-4df7-8a09-765794883524
2006-06-23 12:00:58 +00:00
qwang12 db38605523 Remove the dead files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@611 6f19259b-4bc3-4df7-8a09-765794883524
2006-06-23 09:10:00 +00:00
qwang12 c5a198e213 Remove the dead files.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@608 6f19259b-4bc3-4df7-8a09-765794883524
2006-06-23 08:42:54 +00:00
qwang12 58f1099f3d 1) remove some dead code from WinNtBusDriver.c
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
2006-06-23 04:30:23 +00:00
klu2 dc530c7b9d In before, FixedPcdGetxx macro was defined as global variable, it is wrong. It should be defined as value directly, and module developer can use it to define length of array.
1) Change macro FixedPcdGetxx to value macro. 
2) Change some wrong macro usage in library.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@598 6f19259b-4bc3-4df7-8a09-765794883524
2006-06-22 14:07:22 +00:00
lgao4 30a60d29aa Fix buger in DxeMain module and modify uefispec.h coding style
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@597 6f19259b-4bc3-4df7-8a09-765794883524
2006-06-22 12:32:30 +00:00
qhuang8 4ba61e5e2a 1. UINTN & INTN issue for EBC architecture:
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
2006-06-22 06:08:00 +00:00
klu2 11e7b0f6dd Modify autogen code for DynamicEx type PCD.
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
2006-06-20 17:10:21 +00:00
vanjeff 0ffa12863e 1. Fixed bug for WriteUnaligned24() in Unaligned.c of BaseLib
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
2006-06-20 05:30:27 +00:00
qhuang8 cd14fe3dcf 1. PostCodeLib.
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
2006-06-19 07:40:23 +00:00
klu2 38ee8d9e66 Change the macro for dynamicEx type PCD and modify autogen tools to auto generate TokenSpaceGuid. After modification, you can use two method access DynamicPCD,
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
2006-06-17 09:57:06 +00:00
bbahnsen a68d14777e This was only used by GenFvImage tool, so it can be removed now.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@513 6f19259b-4bc3-4df7-8a09-765794883524
2006-06-14 15:14:46 +00:00
qhuang8 8960cdebac BaseMemoryLib (BaseMemoryLibRepStr):
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
2006-06-13 06:31:11 +00:00
qwang12 2a505eac61 1) Sync PcdPpi guid with PCD arch spec.
2) Correct macro PatchPcdSetPtr


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@469 6f19259b-4bc3-4df7-8a09-765794883524
2006-06-10 12:03:36 +00:00
bxing dee4740abe 1. Added AsmCpuidEx() to BaseLib
2. Added DecimalToBcd8() and BcdToDecimal8() to String.c

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@465 6f19259b-4bc3-4df7-8a09-765794883524
2006-06-10 09:37:12 +00:00
bxing 4cbd217532 1. Updated SetJump() and LongJump() for IPF
2. Added assertion for SetJump() for all architectures
3. Added CpuSleep() for IPF

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@464 6f19259b-4bc3-4df7-8a09-765794883524
2006-06-10 07:16:11 +00:00
qhuang8 84a99d48f4 1. Rename PeiCoreLib to PeiServicesLib and rename all the interfaces from PeiCoreXXX() to PeiServicesXXX().
2. Remove PostCode interfaces from ReportStatusCodeLib


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@441 6f19259b-4bc3-4df7-8a09-765794883524
2006-06-08 03:36:57 +00:00
qhuang8 533f039eb0 BaseMemoryLib:
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
2006-06-07 15:38:52 +00:00
qwang12 8a43e8dd55 Sync Pcd Service Driver, PEIM and library with MDE Spec 0.55a.
1) change all PCD_TOKEN_NUMBER to UINTN
2) change all SKU_ID to UINTN

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@437 6f19259b-4bc3-4df7-8a09-765794883524
2006-06-07 12:31:33 +00:00
alfred 72df7b0fc1 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@427 6f19259b-4bc3-4df7-8a09-765794883524 2006-06-06 06:27:01 +00:00
qhuang8 9a462b415d UefiLib:
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
2006-06-04 13:08:25 +00:00
vanjeff 3f9f540dac add function header
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@350 6f19259b-4bc3-4df7-8a09-765794883524
2006-05-31 08:56:42 +00:00
bbahnsen 342fcc1e99 Fix gcc build breaks.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@295 6f19259b-4bc3-4df7-8a09-765794883524
2006-05-26 17:23:35 +00:00
qwang12 b16ef80556 Sync up Pcd Library Instances and PCD Driver/PEIM with Pcd spec 0.51 and Mde 0.51
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@285 6f19259b-4bc3-4df7-8a09-765794883524
2006-05-26 01:05:31 +00:00
qhuang8 a3657e3e7a MemoryAllocationLib: For boundary case: “AllocationSize + OverAllocationSize >= 4G”
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
2006-05-25 10:13:26 +00:00
qwang12 dbdaaec45c 1) Fix bug reported on the PcdSetEx* Macro.
2) Add SKU_ID type


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@252 6f19259b-4bc3-4df7-8a09-765794883524
2006-05-24 08:13:32 +00:00
bbahnsen 6e3b8c4716 Fix capitalization issues
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@208 6f19259b-4bc3-4df7-8a09-765794883524
2006-05-19 19:28:24 +00:00
lgao4 a3a65d3856 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@202 6f19259b-4bc3-4df7-8a09-765794883524 2006-05-19 10:39:41 +00:00
vanjeff d3d867787c Finish bug at line 324:
gBS->LocateProtocol (Handle, Guid, &Instance) error

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@201 6f19259b-4bc3-4df7-8a09-765794883524
2006-05-19 09:47:53 +00:00
bxing b546c3ade2 Updated function headers for CacheMaintenanceLib
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@185 6f19259b-4bc3-4df7-8a09-765794883524
2006-05-17 10:30:23 +00:00
bxing 97d92bdaf0 Updated BaseLib for THUNK functions and some CPU functions
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@158 6f19259b-4bc3-4df7-8a09-765794883524
2006-05-15 11:14:20 +00:00
lgao4 c1288a3926 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@152 6f19259b-4bc3-4df7-8a09-765794883524 2006-05-14 09:16:36 +00:00
mdkinney f15e4e27c6 Make variable names for protocol GUIDs consistent
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@142 6f19259b-4bc3-4df7-8a09-765794883524
2006-05-12 20:55:40 +00:00
mdkinney 8a1fd113ea Add EfiGlobalVariable GUID to PEIM.h so PEIMs can read standard variables defined by the UEFI 2.0 Specification
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@134 6f19259b-4bc3-4df7-8a09-765794883524
2006-05-12 16:52:07 +00:00
qhuang8 5f10fa0140 *BaseSmbusLib: (new version)
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
2006-05-11 07:19:55 +00:00
vanjeff 5e3d9e4ed5 Added CONST for some sting type to follow MWG-0.51. Tracker 26 and 28
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@62 6f19259b-4bc3-4df7-8a09-765794883524
2006-04-27 07:18:32 +00:00
qhuang8 abea19dbe1 PeiSmbusLib & DxeSmbusLib
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
2006-04-25 05:51:23 +00:00
bbahnsen 878ddf1fc3 Initial import.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@3 6f19259b-4bc3-4df7-8a09-765794883524
2006-04-21 22:54:32 +00:00