]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Universal/PCD/Dxe/Service.c
Add PcdDxe and PcdPEIM to all-arch for EdkModulePkg-All-Archs.fpd
[mirror_edk2.git] / EdkModulePkg / Universal / PCD / Dxe / Service.c
index 97518510d6c63db29b53c4b5f753a2219c140c66..717a4345ea11df329815b0a25ce96f28163e7a92 100644 (file)
@@ -742,19 +742,23 @@ GetExPcdTokenNumber (
   EFI_GUID            *MatchGuid;\r
   UINTN               MatchGuidIdx;\r
 \r
-  ExMap       = mPcdDatabase->PeiDb.Init.ExMapTable;\r
-  GuidTable   = mPcdDatabase->PeiDb.Init.GuidTable;\r
-  \r
-  MatchGuid   = ScanGuid (GuidTable, sizeof(mPcdDatabase->PeiDb.Init.GuidTable), Guid);\r
-  ASSERT (MatchGuid != NULL);\r
+  if (!PEI_DATABASE_EMPTY) {\r
+    ExMap       = mPcdDatabase->PeiDb.Init.ExMapTable;\r
+    GuidTable   = mPcdDatabase->PeiDb.Init.GuidTable;\r
+    \r
+    MatchGuid   = ScanGuid (GuidTable, sizeof(mPcdDatabase->PeiDb.Init.GuidTable), Guid);\r
+    \r
+    if (MatchGuid != NULL) {\r
 \r
-  MatchGuidIdx = MatchGuid - GuidTable;\r
-  \r
-  for (i = 0; i < PEI_EXMAPPING_TABLE_SIZE; i++) {\r
-    if ((ExTokenNumber == ExMap[i].ExTokenNumber) &&\r
-        (MatchGuidIdx == ExMap[i].ExGuidIndex)) {\r
-        return ExMap[i].LocalTokenNumber;\r
+      MatchGuidIdx = MatchGuid - GuidTable;\r
+      \r
+      for (i = 0; i < PEI_EXMAPPING_TABLE_SIZE; i++) {\r
+        if ((ExTokenNumber == ExMap[i].ExTokenNumber) &&\r
+            (MatchGuidIdx == ExMap[i].ExGuidIndex)) {\r
+            return ExMap[i].LocalTokenNumber;\r
 \r
+        }\r
+      }\r
     }\r
   }\r
   \r
@@ -762,6 +766,10 @@ GetExPcdTokenNumber (
   GuidTable   = mPcdDatabase->DxeDb.Init.GuidTable;\r
 \r
   MatchGuid   = ScanGuid (GuidTable, sizeof(mPcdDatabase->DxeDb.Init.GuidTable), Guid);\r
+  //\r
+  // We need to ASSERT here. If GUID can't be found in GuidTable, this is a\r
+  // error in the BUILD system.\r
+  //\r
   ASSERT (MatchGuid != NULL);\r
 \r
   MatchGuidIdx = MatchGuid - GuidTable;\r
@@ -769,7 +777,7 @@ GetExPcdTokenNumber (
   for (i = 0; i < DXE_EXMAPPING_TABLE_SIZE; i++) {\r
     if ((ExTokenNumber == ExMap[i].ExTokenNumber) &&\r
          (MatchGuidIdx == ExMap[i].ExGuidIndex)) {\r
-        return ExMap[i].LocalTokenNumber + PEI_LOCAL_TOKEN_NUMBER;\r
+        return ExMap[i].LocalTokenNumber;\r
     }\r
   }\r
 \r