summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/Universal/PCD
diff options
context:
space:
mode:
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>2009-03-29 11:20:47 +0000
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>2009-03-29 11:20:47 +0000
commit9e40e4bd0a62694748543cd813e663e02ecf9d96 (patch)
tree3f384497224cb726cd300680a74dcbd6353dd6f7 /MdeModulePkg/Universal/PCD
parentcf84d2671a085e4f9951bb039967fe5444219115 (diff)
downloadedk2-9e40e4bd0a62694748543cd813e663e02ecf9d96.tar.gz
edk2-9e40e4bd0a62694748543cd813e663e02ecf9d96.tar.bz2
edk2-9e40e4bd0a62694748543cd813e663e02ecf9d96.zip
Refine comments
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7975 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Universal/PCD')
-rw-r--r--MdeModulePkg/Universal/PCD/Pei/Service.h61
1 files changed, 37 insertions, 24 deletions
diff --git a/MdeModulePkg/Universal/PCD/Pei/Service.h b/MdeModulePkg/Universal/PCD/Pei/Service.h
index 9ac393f032..3a25f57e24 100644
--- a/MdeModulePkg/Universal/PCD/Pei/Service.h
+++ b/MdeModulePkg/Universal/PCD/Pei/Service.h
@@ -1014,7 +1014,7 @@ extern PEI_PCD_DATABASE_INIT gPEIPcdDbInit;
////////////////////////////////////////////////////////////////////////////////
// //
-// Introduction of PEI PCD database //
+// Introduction of PCD database //
// //
////////////////////////////////////////////////////////////////////////////////
/**
@@ -1144,6 +1144,13 @@ extern PEI_PCD_DATABASE_INIT gPEIPcdDbInit;
To access a dynamicEx type PCD, pair of "token space guid/token number" all need
to be specificed for PcdSet/PcdGet accessing macro.
+ Platform Token Number is started from 1, and inceased continuous. From whole
+ platform scope, there are two zones: PEI Zone and DXE Zone
+ | Platform Token Number
+ ----------|----------------------------------------------------------------
+ PEI Zone: | 1 ~ PEI_LOCAL_TOKEN_NUMBER
+ DXE Zone: | (PEI_LOCAL_TOKEN_NUMBER + 1) ~ (PEI_LOCAL_TOKEN_NUMBER + DXE_LOCAL_TOKEN_NUMBER)
+
3.2.3 Local Token Number
To fast searching a PCD entry in PCD database, PCD driver translate
platform token number to local token number via a mapping table.
@@ -1200,28 +1207,28 @@ extern PEI_PCD_DATABASE_INIT gPEIPcdDbInit;
be seemed as "no default value".
3.3.1 Simple Sample PCD Database C Structure
- A general sample of PCD database structue is as follows:
- typedef struct _PCD_DATABASE {
- typedef struct _PCD_DATABASE_INIT {
- //===== Following is PCD database internal maintain structures
- DYNAMICEX_MAPPING ExMapTable[PEI_EXMAPPING_TABLE_SIZE];
- UINT32 LocalTokenNumberTable[PEI_LOCAL_TOKEN_NUMBER_TABLE_SIZE];
- GUID GuidTable[PEI_GUID_TABLE_SIZE];
- SIZE_INFO SizeTable[PEI_SIZE_TABLE_SIZE];
- UINT8 SkuIdTable[PEI_SKUID_TABLE_SIZE];
- SKU_ID SystemSkuId;
-
- //===== Following is value structure for PCD with default value
- ....
- ....
- ....
- } Init;
- typedef struct _PCD_DATABSE_UNINIT {
- //==== Following is value structure for PCD without default value
- ....
- ....
- } UnInit;
- }
+ A general sample of PCD database structue is as follows:
+ typedef struct _PCD_DATABASE {
+ typedef struct _PCD_DATABASE_INIT {
+ //===== Following is PCD database internal maintain structures
+ DYNAMICEX_MAPPING ExMapTable[PEI_EXMAPPING_TABLE_SIZE];
+ UINT32 LocalTokenNumberTable[PEI_LOCAL_TOKEN_NUMBER_TABLE_SIZE];
+ GUID GuidTable[PEI_GUID_TABLE_SIZE];
+ SIZE_INFO SizeTable[PEI_SIZE_TABLE_SIZE];
+ UINT8 SkuIdTable[PEI_SKUID_TABLE_SIZE];
+ SKU_ID SystemSkuId;
+
+ //===== Following is value structure for PCD with default value
+ ....
+ ....
+ ....
+ } Init;
+ typedef struct _PCD_DATABSE_UNINIT {
+ //==== Following is value structure for PCD without default value
+ ....
+ ....
+ } UnInit;
+ }
3.3.2 PCD value structure in PCD database C structure
The value's structure is generated by build tool in PCD database C structure.
@@ -1257,5 +1264,11 @@ extern PEI_PCD_DATABASE_INIT gPEIPcdDbInit;
above ascii string table,
UINT8 StringTable[13];
The number of 13 in above sample is max size of byte array.
-
+
+ 3.3.3 Some utility structures in PCD Database
+ 3.3.3.1 GuidTable
+ GuidTable array is used to store all related GUID value in PCD database:
+ - Variable GUID for HII type PCD
+ - Token space GUID for dynamicex type PCD
+
**/