summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal/PCD/Dxe/Pcd.c
diff options
context:
space:
mode:
authorStar Zeng <star.zeng@intel.com>2015-04-10 09:01:46 +0000
committerlzeng14 <lzeng14@Edk2>2015-04-10 09:01:46 +0000
commit23f3e119c7b154f6c9386588b5b74c6037a1251c (patch)
tree2bbcea6229bbd666a04629fe1894b74554fa11e6 /MdeModulePkg/Universal/PCD/Dxe/Pcd.c
parent8977a7b7b631619347ebfcde1a08174d08a0c7bf (diff)
downloadedk2-23f3e119c7b154f6c9386588b5b74c6037a1251c.zip
edk2-23f3e119c7b154f6c9386588b5b74c6037a1251c.tar.gz
edk2-23f3e119c7b154f6c9386588b5b74c6037a1251c.tar.bz2
MdeModulePkg: Add ATTRIBUTE (+/-RT, RO) support in PCD declaration in DSC file.
Also update PCD_SERVICE_PEI_VERSION and PCD_SERVICE_DXE_VERSION to match with the new PcdDataBase binary generated by BaseTools. 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: Jiewen Yao <jiewen.yao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17161 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Universal/PCD/Dxe/Pcd.c')
-rw-r--r--MdeModulePkg/Universal/PCD/Dxe/Pcd.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/MdeModulePkg/Universal/PCD/Dxe/Pcd.c b/MdeModulePkg/Universal/PCD/Dxe/Pcd.c
index 4828af2..6afcd18 100644
--- a/MdeModulePkg/Universal/PCD/Dxe/Pcd.c
+++ b/MdeModulePkg/Universal/PCD/Dxe/Pcd.c
@@ -3,7 +3,7 @@
produce the implementation of native PCD protocol and EFI_PCD_PROTOCOL defined in
PI 1.2 Vol3.
-Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -129,7 +129,8 @@ PcdDxeInit (
)
{
EFI_STATUS Status;
-
+ VOID *Registration;
+
//
// Make sure the Pcd Protocol is not already installed in the system
//
@@ -167,6 +168,18 @@ PcdDxeInit (
ASSERT_EFI_ERROR (Status);
}
+ //
+ // Register callback function upon VariableLockProtocol
+ // to lock the variables referenced by DynamicHii PCDs with RO property set in *.dsc.
+ //
+ EfiCreateProtocolNotifyEvent (
+ &gEdkiiVariableLockProtocolGuid,
+ TPL_CALLBACK,
+ VariableLockCallBack,
+ NULL,
+ &Registration
+ );
+
return Status;
}