]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Universal/PCD/Pei/Pcd.c
1) remove some dead code from WinNtBusDriver.c
[mirror_edk2.git] / EdkModulePkg / Universal / PCD / Pei / Pcd.c
index 70b229e3a931c19a7fb168f981434f8f39a1f739..34af220f6686ded58515fd20fb4aa9c2b33ea5af 100644 (file)
@@ -76,7 +76,7 @@ PcdPeimInit (
 \r
   BuildPcdDatabase ();\r
   \r
-  Status = PeiCoreInstallPpi (&mPpiPCD);\r
+  Status = PeiServicesInstallPpi (&mPpiPCD);\r
 \r
   ASSERT_EFI_ERROR (Status);\r
   \r
@@ -86,11 +86,11 @@ PcdPeimInit (
 VOID\r
 EFIAPI\r
 PeiPcdSetSku (\r
-  IN  SKU_ID                  SkuId\r
+  IN  UINTN                  SkuId\r
   )\r
 {\r
 \r
-  GetPcdDatabase()->Init.SystemSkuId = SkuId;\r
+  GetPcdDatabase()->Init.SystemSkuId = (SKU_ID) SkuId;\r
 \r
   return;\r
 }\r
@@ -100,7 +100,7 @@ PeiPcdSetSku (
 UINT8\r
 EFIAPI\r
 PeiPcdGet8 (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   )\r
 {\r
   return *((UINT8 *) GetWorker (TokenNumber, sizeof (UINT8)));\r
@@ -111,7 +111,7 @@ PeiPcdGet8 (
 UINT16\r
 EFIAPI\r
 PeiPcdGet16 (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   )\r
 {\r
   return ReadUnaligned16 (GetWorker (TokenNumber, sizeof (UINT16)));\r
@@ -122,7 +122,7 @@ PeiPcdGet16 (
 UINT32\r
 EFIAPI\r
 PeiPcdGet32 (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   )\r
 {\r
   return ReadUnaligned32 (GetWorker (TokenNumber, sizeof (UINT32)));\r
@@ -133,7 +133,7 @@ PeiPcdGet32 (
 UINT64\r
 EFIAPI\r
 PeiPcdGet64 (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   )\r
 {\r
   return ReadUnaligned64 (GetWorker (TokenNumber, sizeof (UINT64)));\r
@@ -144,7 +144,7 @@ PeiPcdGet64 (
 VOID *\r
 EFIAPI\r
 PeiPcdGetPtr (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   )\r
 {\r
   return GetWorker (TokenNumber, 0);\r
@@ -155,7 +155,7 @@ PeiPcdGetPtr (
 BOOLEAN\r
 EFIAPI\r
 PeiPcdGetBool (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   )\r
 {\r
   return *((BOOLEAN *) GetWorker (TokenNumber, sizeof (BOOLEAN)));\r
@@ -166,9 +166,16 @@ PeiPcdGetBool (
 UINTN\r
 EFIAPI\r
 PeiPcdGetSize (\r
-  IN PCD_TOKEN_NUMBER  TokenNumber\r
+  IN UINTN             TokenNumber\r
   )\r
 {\r
+  //\r
+  // TokenNumber Zero is reserved as PCD_INVALID_TOKEN_NUMBER.\r
+  // We have to decrement TokenNumber by 1 to make it usable\r
+  // as the array index.\r
+  //\r
+  TokenNumber--;\r
+\r
   ASSERT (TokenNumber < PEI_LOCAL_TOKEN_NUMBER);\r
 \r
   return GetPcdDatabase()->Init.SizeTable[TokenNumber];\r
@@ -180,7 +187,7 @@ UINT8
 EFIAPI\r
 PeiPcdGet8Ex (\r
   IN CONST EFI_GUID        *Guid,\r
-  IN PCD_TOKEN_NUMBER  ExTokenNumber\r
+  IN UINTN             ExTokenNumber\r
   )\r
 {\r
   return *((UINT8 *) ExGetWorker (Guid, ExTokenNumber, sizeof (UINT8)));\r
@@ -192,7 +199,7 @@ UINT16
 EFIAPI\r
 PeiPcdGet16Ex (\r
   IN CONST EFI_GUID        *Guid,\r
-  IN PCD_TOKEN_NUMBER  ExTokenNumber\r
+  IN UINTN             ExTokenNumber\r
   )\r
 {\r
   return ReadUnaligned16 (ExGetWorker (Guid, ExTokenNumber, sizeof (UINT16)));\r
@@ -204,7 +211,7 @@ UINT32
 EFIAPI\r
 PeiPcdGet32Ex (\r
   IN CONST EFI_GUID        *Guid,\r
-  IN PCD_TOKEN_NUMBER  ExTokenNumber\r
+  IN UINTN             ExTokenNumber\r
   )\r
 {\r
   return ReadUnaligned32 (ExGetWorker (Guid, ExTokenNumber, sizeof (UINT32)));\r
@@ -216,7 +223,7 @@ UINT64
 EFIAPI\r
 PeiPcdGet64Ex (\r
   IN CONST EFI_GUID        *Guid,\r
-  IN PCD_TOKEN_NUMBER  ExTokenNumber\r
+  IN UINTN             ExTokenNumber\r
   )\r
 {\r
   return ReadUnaligned64 (ExGetWorker (Guid, ExTokenNumber, sizeof (UINT64)));\r
@@ -228,7 +235,7 @@ VOID *
 EFIAPI\r
 PeiPcdGetPtrEx (\r
   IN CONST EFI_GUID        *Guid,\r
-  IN PCD_TOKEN_NUMBER  ExTokenNumber\r
+  IN UINTN             ExTokenNumber\r
   )\r
 {\r
   return ExGetWorker (Guid, ExTokenNumber, 0);\r
@@ -240,7 +247,7 @@ BOOLEAN
 EFIAPI\r
 PeiPcdGetBoolEx (\r
   IN CONST  EFI_GUID        *Guid,\r
-  IN PCD_TOKEN_NUMBER                  ExTokenNumber\r
+  IN UINTN                             ExTokenNumber\r
   )\r
 {\r
   return *((BOOLEAN *) ExGetWorker (Guid, ExTokenNumber, sizeof (BOOLEAN)));\r
@@ -252,7 +259,7 @@ UINTN
 EFIAPI\r
 PeiPcdGetSizeEx (\r
   IN CONST  EFI_GUID        *Guid,\r
-  IN PCD_TOKEN_NUMBER                  ExTokenNumber\r
+  IN UINTN                             ExTokenNumber\r
   )\r
 {\r
   return PeiPcdGetSize (GetExPcdTokenNumber (Guid, ExTokenNumber));\r
@@ -263,7 +270,7 @@ PeiPcdGetSizeEx (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSet8 (\r
-  IN PCD_TOKEN_NUMBER             TokenNumber,\r
+  IN UINTN                        TokenNumber,\r
   IN UINT8             Value\r
   )\r
 {\r
@@ -275,7 +282,7 @@ PeiPcdSet8 (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSet16 (\r
-  IN PCD_TOKEN_NUMBER              TokenNumber,\r
+  IN UINTN                         TokenNumber,\r
   IN UINT16             Value\r
   )\r
 {\r
@@ -287,7 +294,7 @@ PeiPcdSet16 (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSet32 (\r
-  IN PCD_TOKEN_NUMBER              TokenNumber,\r
+  IN UINTN                         TokenNumber,\r
   IN UINT32             Value\r
   )\r
 {\r
@@ -299,7 +306,7 @@ PeiPcdSet32 (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSet64 (\r
-  IN PCD_TOKEN_NUMBER              TokenNumber,\r
+  IN UINTN                         TokenNumber,\r
   IN UINT64             Value\r
   )\r
 {\r
@@ -310,7 +317,7 @@ PeiPcdSet64 (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSetPtr (\r
-  IN PCD_TOKEN_NUMBER              TokenNumber,\r
+  IN UINTN                         TokenNumber,\r
   IN UINTN                         SizeOfBuffer,\r
   IN VOID                          *Buffer\r
   )\r
@@ -323,7 +330,7 @@ PeiPcdSetPtr (
 EFI_STATUS\r
 EFIAPI\r
 PeiPcdSetBool (\r
-  IN PCD_TOKEN_NUMBER              TokenNumber,\r
+  IN UINTN                         TokenNumber,\r
   IN BOOLEAN            Value\r
   )\r
 {\r
@@ -336,7 +343,7 @@ EFI_STATUS
 EFIAPI\r
 PeiPcdSet8Ex (\r
   IN CONST EFI_GUID         *Guid,\r
-  IN PCD_TOKEN_NUMBER       ExTokenNumber,\r
+  IN UINTN                  ExTokenNumber,\r
   IN UINT8                  Value\r
   )\r
 {\r
@@ -355,7 +362,7 @@ EFI_STATUS
 EFIAPI\r
 PeiPcdSet16Ex (\r
   IN CONST EFI_GUID         *Guid,\r
-  IN PCD_TOKEN_NUMBER       ExTokenNumber,\r
+  IN UINTN                  ExTokenNumber,\r
   IN UINT16                 Value\r
   )\r
 {\r
@@ -374,7 +381,7 @@ EFI_STATUS
 EFIAPI\r
 PeiPcdSet32Ex (\r
   IN CONST EFI_GUID         *Guid,\r
-  IN PCD_TOKEN_NUMBER       ExTokenNumber,\r
+  IN UINTN                  ExTokenNumber,\r
   IN UINT32                 Value\r
   )\r
 {\r
@@ -393,7 +400,7 @@ EFI_STATUS
 EFIAPI\r
 PeiPcdSet64Ex (\r
   IN CONST EFI_GUID         *Guid,\r
-  IN PCD_TOKEN_NUMBER       ExTokenNumber,\r
+  IN UINTN                  ExTokenNumber,\r
   IN UINT64                 Value\r
   )\r
 {\r
@@ -412,7 +419,7 @@ EFI_STATUS
 EFIAPI\r
 PeiPcdSetPtrEx (\r
   IN CONST EFI_GUID         *Guid,\r
-  IN PCD_TOKEN_NUMBER       ExTokenNumber,\r
+  IN UINTN                  ExTokenNumber,\r
   IN UINTN                  SizeOfBuffer,\r
   IN VOID                   *Value\r
   )\r
@@ -432,7 +439,7 @@ EFI_STATUS
 EFIAPI\r
 PeiPcdSetBoolEx (\r
   IN CONST EFI_GUID       *Guid,\r
-  IN PCD_TOKEN_NUMBER     ExTokenNumber,\r
+  IN UINTN                ExTokenNumber,\r
   IN BOOLEAN              Value\r
   )\r
 {\r
@@ -451,7 +458,7 @@ PeiPcdSetBoolEx (
 EFI_STATUS\r
 EFIAPI\r
 PeiRegisterCallBackOnSet (\r
-  IN  PCD_TOKEN_NUMBER            ExTokenNumber,\r
+  IN  UINTN                       ExTokenNumber,\r
   IN  CONST EFI_GUID              *Guid, OPTIONAL\r
   IN  PCD_PPI_CALLBACK            CallBackFunction\r
   )\r
@@ -466,7 +473,7 @@ PeiRegisterCallBackOnSet (
 EFI_STATUS\r
 EFIAPI\r
 PcdUnRegisterCallBackOnSet (\r
-  IN  PCD_TOKEN_NUMBER            ExTokenNumber,\r
+  IN  UINTN                       ExTokenNumber,\r
   IN  CONST EFI_GUID              *Guid, OPTIONAL\r
   IN  PCD_PPI_CALLBACK            CallBackFunction\r
   )\r
@@ -482,7 +489,7 @@ EFI_STATUS
 EFIAPI\r
 PeiPcdGetNextToken (\r
   IN CONST EFI_GUID               *Guid, OPTIONAL\r
-  IN OUT  PCD_TOKEN_NUMBER        *TokenNumber\r
+  IN OUT  UINTN                   *TokenNumber\r
   )\r
 {\r
   UINTN               GuidTableIdx;\r
@@ -559,10 +566,10 @@ PeiPcdGetNextToken (
   return EFI_SUCCESS;\r
 }\r
 \r
-EFI_GUID *\r
+EFI_STATUS\r
 EFIAPI\r
 PeiPcdGetNextTokenSpaceGuid (\r
-  IN CONST EFI_GUID               *Guid\r
+  IN OUT CONST EFI_GUID               **Guid\r
   )\r
 {\r
   UINTN               GuidTableIdx;\r
@@ -572,9 +579,17 @@ PeiPcdGetNextTokenSpaceGuid (
   UINTN               i;\r
   BOOLEAN             Found;\r
 \r
-  if (PEI_EXMAP_TABLE_EMPTY) {\r
-    return NULL;\r
-  }\r
+   if (*Guid == NULL) {\r
+    if (PEI_EXMAP_TABLE_EMPTY) {\r
+      return EFI_SUCCESS;\r
+    } else {\r
+      //\r
+      // return the first Token Space Guid.\r
+      //\r
+      *Guid = &PeiPcdDb->Init.GuidTable[ExMapTable[0].ExGuidIndex];\r
+      return EFI_SUCCESS;\r
+    }\r
+   }\r
 \r
   //\r
   // Assume PCD Database AutoGen tool is sorting the ExMap based on the following order\r
@@ -583,10 +598,10 @@ PeiPcdGetNextTokenSpaceGuid (
   //\r
   PeiPcdDb = GetPcdDatabase ();\r
 \r
-  MatchGuid = ScanGuid (PeiPcdDb->Init.GuidTable, sizeof(PeiPcdDb->Init.GuidTable), Guid);\r
+  MatchGuid = ScanGuid (PeiPcdDb->Init.GuidTable, sizeof(PeiPcdDb->Init.GuidTable), *Guid);\r
 \r
   if (MatchGuid == NULL) {\r
-    return NULL;\r
+    return EFI_NOT_FOUND;\r
   }\r
   \r
   GuidTableIdx = MatchGuid - PeiPcdDb->Init.GuidTable;\r
@@ -604,16 +619,13 @@ PeiPcdGetNextTokenSpaceGuid (
   if (Found) {\r
     for ( ; i < PEI_EXMAPPING_TABLE_SIZE; i++ ) {\r
       if (ExMapTable[i].ExGuidIndex != GuidTableIdx ) {\r
-        if (i < PEI_EXMAPPING_TABLE_SIZE) {\r
-          return &PeiPcdDb->Init.GuidTable[ExMapTable[i].ExGuidIndex];\r
-        } else {\r
-          return NULL;\r
-        }\r
+        *Guid = &PeiPcdDb->Init.GuidTable[ExMapTable[i].ExGuidIndex];\r
+        return EFI_SUCCESS;\r
       }\r
     }\r
   }\r
 \r
-  return NULL;\r
+  return EFI_NOT_FOUND;\r
 \r
 }\r
 \r