Commit Graph

91 Commits

Author SHA1 Message Date
Star Zeng efd6b412c6 MdeModulePkg Pcd DXE: Handle the case gPcdDataBaseHobGuid HOB is not present.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15027 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-29 07:14:57 +00:00
Star Zeng d5ad0813ac MdeModulePkg Pcd(DXE): Use correct TokenNumber to call GetPtrTypeSize () when SKU ID enabled.
In GetLocalTokenNumber () of Service.c(DXE), the TokenNumber is wrong to call GetPtrTypeSize ().
GetPtrTypeSize need the original TokenNumber.

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

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14936 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-06 09:24:47 +00:00
Star Zeng b5bd21b012 MdeModulePkg Pcd: Refine the code to avoid error report.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14924 6f19259b-4bc3-4df7-8a09-765794883524
2013-12-02 10:18:59 +00:00
Star Zeng f47fc1cb25 MdeModulePkg Pcd: Refine the code to avoid error report.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14879 6f19259b-4bc3-4df7-8a09-765794883524
2013-11-21 09:31:28 +00:00
Gary Ching-Pang Lin 2fc67057f0 MdeModulePkg Pcd: Remove the EFIAPI of PeiGetPcdInfo () typedef in Service.h.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gary Ching-Pang Lin <glin@suse.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14873 6f19259b-4bc3-4df7-8a09-765794883524
2013-11-20 11:21:06 +00:00
Star Zeng 61d8989f87 MdeModulePkg and Nt32Pkg Pcd: Add the new EFI_GET_PCD_INFO_PROTOCOL and EFI_GET_PCD_INFO_PPI support for PI 1.2.1 compliance.
It has no obviously benefit to reduce size by PcdPcdInfoGeneration, so remove this PCD.
And PCD_INFO_GENERATION flag can be used to enable/disable PCD info feature, a sample is added in Nt32Pkg to show how to use this flag.

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

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14869 6f19259b-4bc3-4df7-8a09-765794883524
2013-11-20 02:04:23 +00:00
Star Zeng 96d6d004aa MdePkg and MdeModulePkg Pcd: Add the new EFI_GET_PCD_INFO_PROTOCOL and EFI_GET_PCD_INFO_PPI support for PI 1.2.1 compliance.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14866 6f19259b-4bc3-4df7-8a09-765794883524
2013-11-20 00:44:25 +00:00
Star Zeng 7df095713a MdeModulePkg Pcd: Refine the code to avoid error report.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14861 6f19259b-4bc3-4df7-8a09-765794883524
2013-11-19 05:42:51 +00:00
Bob C Feng 419db80bef MdePkg and MdeModulePkg Pcd: Implement PCD Driver for External PCD Database and SKU enable Feature.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Bob C Feng <bob.c.feng@intel.com>
Reviewed-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@14857 6f19259b-4bc3-4df7-8a09-765794883524
2013-11-18 07:45:49 +00:00
lgao4 0b1ef27500 Adds ASSERT check in DxePcd driver when error status of read DynamicHii PCD is not EFI_NOT_FOUND to avoid the incorrect value is used.
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14147 6f19259b-4bc3-4df7-8a09-765794883524
2013-02-27 03:01:40 +00:00
lgao4 6cfc729256 Update string offset and default offset from UINT16 to STRING_HEAD to match the generated PCD database.
Signed-off-by: lgao4
Reviewed-by: jliu66

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13081 6f19259b-4bc3-4df7-8a09-765794883524
2012-03-06 08:47:29 +00:00
lgao4 e9d97d08d9 Enable PCD version check on PCD driver and PCD database.
Signed-off-by: lgao4
Reviewed-by: jliu66 djboyer

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13015 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-15 03:33:03 +00:00
lgao4 cb40609c75 Update PcdSetPtr() API to set the output buffer size to the max buffer size when the input buffer size is larger than the max buffer size. This behavior follows API description.
Signed-off-by: lgao4
Reviewed-by: jlin16

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12875 6f19259b-4bc3-4df7-8a09-765794883524
2011-12-15 06:56:57 +00:00
lgao4 573e0a48c8 Correctly use GetPtrTypeSize() to get MaxSize.
Signed-off-by: lgao4


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12790 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-28 03:43:26 +00:00
lgao4 648944102a Fix PcdSetPtr() service to use the max buffer size to check whether new buffer data is filled into.
Signed-off-by: lgao4
Reviewed-by: jlin16

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12789 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-28 03:36:25 +00:00
ydong10 639710791a Enhance inf and dec file to follow specs.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11392 6f19259b-4bc3-4df7-8a09-765794883524
2011-03-14 08:43:59 +00:00
hhtian e5eed7d364 Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10418 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-24 09:33:45 +00:00
klu2 8ec8bed439 1, For Pcd_PPI, UnregistedCallBack should return EFI_INVALID_PARAMETER if Callback function can not be found.
2, PCD_PPI/PROTOCOL should return EFI_INVALID_PARAMETER if size is unmatched

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10276 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-18 06:24:53 +00:00
niruiyu 6a429dfa5f Change back the TPL of PCD from TPL_CALLBACK to TPL_NOTIFY because the following issue is found:
When we manually connect a device path mapping to the serial terminal with non-default band rate, the SerialIo driver would Reinstall its device path protocol eventually causing ConSplitter::DriverBindingStart() to run and finally would call PcdGet32 (PcdConOutColumn) in ConsplitterSetConsoleOutMode().
Since SerialIo driver raises TPL to TPL_NOTIFY initially, the call to PcdGet32 would cause TPL assertion if TPL of PCD is TPL_CALLBACK.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10188 6f19259b-4bc3-4df7-8a09-765794883524
2010-03-04 09:38:02 +00:00
jljusten b05ad4a765 Cleanup: Remove PcdDxePcdDatabaseTraverseEnabled
gEfiEdkModulePkgTokenSpaceGuid.PcdDxePcdDatabaseTraverseEnabled does not
exist.  Remove references to it in .dsc files and within the comments of
the DXE PCD driver.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10092 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-25 21:53:22 +00:00
lgao4 6bfbb5f0e0 1. Correct File header to ## @file
2. Remove unnecessary .common] postfix on section.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10052 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-24 00:21:16 +00:00
niruiyu 1a395747fd TPL of Pcd Dxe driver was changed to TPL_CALLBACK from TPL_NOTIFY to follow UEFI spec that caller of variable interface should run at TPL <= TPL_CALLBACK.
The change is to enable PcdsDynamicHii in Duet platform. Duet's variable driver should run at TPL <= TPL_CALLBACK so Pcd Dxe driver should run at TPL <= TPL_CALLBACK. 

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10040 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-22 06:05:11 +00:00
klu2 6ac15f7c8a Support HII VOID* dynamic/dynamicEx type PCD.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9990 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 08:19:29 +00:00
mdkinney b07a5b68ad Pass the correct TokenNumber into a CallbackOnSet notification function. The value being passed in was off by 1.
This would not normally cause an issue because the correct notification function was being called.  There is only an issue if the same notification function is being used for multiple tokens, and the notification function needs to use the TokenNumber parameter to determine which token setting caused the callback function to be called.

Update the logic so the CallbackOnSet notification functions are not called with the internal PCD database lock in the acquired state.  This allows other PCD Get/Set operations to be performed from within a CallbackOnSet notification.

Update logic so the PCD database lock is not left in the acquired state when SetWorker() returns EFI_INVALID_PARAMETER.  


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9981 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 03:51:17 +00:00
mdkinney 736c5dd580 Pass the correct TokenNumber into a CallbackOnSet notification function. The value being passed in was off by 1.
This would not normally cause an issue because the correct notification function was being called.  There is only an issue if the same notification function is being used for multiple tokens, and the notification function needs to use the TokenNumber parameter to determine which token setting caused the callback function to be called.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9980 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 03:47:40 +00:00
rsun3 4140a6635b Coding style fix and minor improvements.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9977 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-11 02:33:16 +00:00
mdkinney 188e4e8444 Remove unnecessary use of FixedPcdxxx() functions and [FixedPcd] INF sections. These should only be used for PCDs that are used to pre-init global variables, pre-init global structures, or size arrays.
Do some minor clean ups to INF files
 


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9868 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-29 23:39:48 +00:00
klu2 149fb6d680 According to PI 1.2 spec Vol 3 chapter 8 PCD, if the PCD service determined that the size of the data being set was
incompatible with a call to this function, PCD_PPI/PROTOCOL's SetXEx interfaces should be return EFI_INVALID_PARAEMTER instead of ASSERT().

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9753 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-14 16:29:29 +00:00
klu2 86714ccd8e According to PI specification, if token number can not be found for dynamic-ex type PCD, return EFI_NOT_FOUND but not ASSERT().
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9511 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-03 05:59:57 +00:00
klu2 6c74c5383a Refine comments for PCD PEIM/driver.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9472 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-24 03:00:41 +00:00
klu2 17e7fa8fb1 Clean up code.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9471 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-24 02:28:06 +00:00
klu2 8a541f0a71 1, Correct the PCD PEIM to produce gEfiPcdPpi and gPcdPpi at same time;
2, Combine two action of InstallProtocolInstance for gEfiPcdProtocol and gPcdProtocol into InstallMultipleProtocolInstances.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9468 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-23 07:52:09 +00:00
klu2 c896d68257 Make PcdPeim/PcdDxe driver also produce EFI_PCD_PPI/EFI_PCD_PROTOCOL defined in PI 1.2 vol3. The EFI_PCD_PPI/EFI_PCD_PROTOCOL only support dynamic-ex type PCD, but original PCD_PPI/PCD_PROTOCOL in MdePkg support dynamic and dynamic-ex type PCDs.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9401 6f19259b-4bc3-4df7-8a09-765794883524
2009-11-10 08:45:07 +00:00
lgao4 b13151ffb6 Update PCD driver to correctly set the HII type PCDs.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9078 6f19259b-4bc3-4df7-8a09-765794883524
2009-08-17 02:05:32 +00:00
klu2 7076244ef4 The StringIndex should be casted to UINT16* but not UINT8*.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8466 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-04 14:56:45 +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
klu2 d09651693b Fix the bug that build tool and PCD driver can not deal with byte array or ANSIC type value for dynamic PCD.
This patch including following change:
1) Build tools:
   a) StringTable in generated PCD database is changed to UINT8 array but not original UINT16, because it can also stored the ANSIC and byte array.
   b) The layout of string table in PCD database is changed. To make sure unicode string is in double byte aligned, the item in string table which hold unicode string value will be put ahead than other items. After unicode string item, the HII variable name item is immediate. The byte array item and ANSIC string array item will be put at tail of whole string table.
   c) Fix bug that build tools does not handle the size of unicode string, byte array and ANSIC string.
2) PCD PEI/DXE driver:
   The pointer of StringTable is changed to UINT8* but not original UINT16*.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8392 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-27 11:34:11 +00:00
klu2 90e0655656 Synchronize PCD_Infrastructure 0.55 with source code.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8249 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-06 06:18:49 +00:00
klu2 b6b3dc4410 1, Move introduction from header file to INF file header; 2, Refine dynamic PCD introduction according to review comments
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7997 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-01 06:43:16 +00:00
klu2 9e40e4bd0a Refine comments
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7975 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-29 11:20:47 +00:00
klu2 cf84d2671a Add introduction of PCD database in PCD Database.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7974 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-29 11:20:12 +00:00
klu2 a5eca427cb Add introduction of PCD database in PCD PEIM.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7973 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-29 07:43:05 +00:00
lgao4 4941d8817d Retire TCG platform protocol, which will be replaced by PI Security Architecture protocol.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7848 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-10 07:57:15 +00:00
klu2 746be876f1 If variable does not exist for a HII PCD, a new NV variable need to be created.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7705 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-26 06:39:56 +00:00
qhuang8 37226e89c7 Add a work around to set the PCD protocol lock to TPL_NOTIFY to relax the restriction on caller of PCD protocol.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7695 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-25 14:00:54 +00:00
klu2 c7a6f87dc1 Fix GCC building broken, GCC does not allow \ character at end of line in comments
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7693 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-25 12:49:02 +00:00
lgao4 f806dd277e Use single one PcdFrameworkCompatibilitySupport PCD to support framework HII and FvHob.
Remove patchable type Flash related PCD.
Simplify single one PcdPeiFullPcdDatabaseEnable to produce full or minimal Pei PCD services.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7678 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-25 09:04:47 +00:00
klu2 3d53ba8b45 Merge GetSizeTableIndexA to GetSizeTableIndex function because it only be invoked by GetSizeTableIndex.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7675 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-25 08:11:42 +00:00
klu2 599a55a5f7 Add sample for auto-generated PCD
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7670 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-25 07:43:53 +00:00
lgao4 96cb78a1e3 Use gEfiCallerIdGuid as the private guid for PcdPeim module.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7653 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-24 15:24:53 +00:00