Refine some internal functions of PCD Driver.
[mirror_edk2.git] / EdkModulePkg / Universal / PCD / Dxe / Pcd.c
index 55633148bba1ad58cda1c91f085a61b74ce599b3..1bde2d8bd4e8fbf9a09311b9238e1ddcd4dc4c29 100644 (file)
@@ -116,9 +116,7 @@ DxePcdGet8 (
   IN PCD_TOKEN_NUMBER         TokenNumber\r
   )\r
 {\r
   IN PCD_TOKEN_NUMBER         TokenNumber\r
   )\r
 {\r
-  ASSERT (sizeof (UINT8) == DxePcdGetSize (TokenNumber));\r
-  \r
-  return *((UINT8 *) GetWorker (TokenNumber));\r
+  return *((UINT8 *) GetWorker (TokenNumber, sizeof (UINT8)));\r
 }\r
 \r
 \r
 }\r
 \r
 \r
@@ -129,9 +127,7 @@ DxePcdGet16 (
   IN PCD_TOKEN_NUMBER         TokenNumber\r
   )\r
 {\r
   IN PCD_TOKEN_NUMBER         TokenNumber\r
   )\r
 {\r
-  ASSERT (sizeof (UINT16) == DxePcdGetSize (TokenNumber));\r
-  \r
-  return ReadUnaligned16 (GetWorker (TokenNumber));\r
+  return ReadUnaligned16 (GetWorker (TokenNumber, sizeof (UINT16)));\r
 }\r
 \r
 \r
 }\r
 \r
 \r
@@ -142,9 +138,7 @@ DxePcdGet32 (
   IN PCD_TOKEN_NUMBER         TokenNumber\r
   )\r
 {\r
   IN PCD_TOKEN_NUMBER         TokenNumber\r
   )\r
 {\r
-  ASSERT (sizeof (UINT32) == DxePcdGetSize (TokenNumber));\r
-  \r
-  return ReadUnaligned32 (GetWorker (TokenNumber));\r
+  return ReadUnaligned32 (GetWorker (TokenNumber, sizeof (UINT32)));\r
 }\r
 \r
 \r
 }\r
 \r
 \r
@@ -155,9 +149,7 @@ DxePcdGet64 (
   IN PCD_TOKEN_NUMBER          TokenNumber\r
   )\r
 {\r
   IN PCD_TOKEN_NUMBER          TokenNumber\r
   )\r
 {\r
-  ASSERT (sizeof (UINT64) == DxePcdGetSize (TokenNumber));\r
-  \r
-  return ReadUnaligned64(GetWorker (TokenNumber));\r
+  return ReadUnaligned64(GetWorker (TokenNumber, sizeof (UINT64)));\r
 }\r
 \r
 \r
 }\r
 \r
 \r
@@ -168,7 +160,7 @@ DxePcdGetPtr (
   IN PCD_TOKEN_NUMBER          TokenNumber\r
   )\r
 {\r
   IN PCD_TOKEN_NUMBER          TokenNumber\r
   )\r
 {\r
-  return GetWorker (TokenNumber);\r
+  return GetWorker (TokenNumber, 0);\r
 }\r
 \r
 \r
 }\r
 \r
 \r
@@ -179,9 +171,7 @@ DxePcdGetBool (
   IN PCD_TOKEN_NUMBER          TokenNumber\r
   )\r
 {\r
   IN PCD_TOKEN_NUMBER          TokenNumber\r
   )\r
 {\r
-  ASSERT (sizeof (BOOLEAN) == DxePcdGetSize (TokenNumber));\r
-  \r
-  return *((BOOLEAN *) GetWorker (TokenNumber));\r
+  return *((BOOLEAN *) GetWorker (TokenNumber, sizeof (BOOLEAN)));\r
 }\r
 \r
 \r
 }\r
 \r
 \r
@@ -224,7 +214,7 @@ DxePcdGet16Ex (
   IN PCD_TOKEN_NUMBER     ExTokenNumber\r
   )\r
 {\r
   IN PCD_TOKEN_NUMBER     ExTokenNumber\r
   )\r
 {\r
-  return *((UINT16 *) ExGetWorker (Guid, ExTokenNumber, sizeof(UINT16)));\r
+  return ReadUnaligned16 (ExGetWorker (Guid, ExTokenNumber, sizeof(UINT16)));\r
 }\r
 \r
 \r
 }\r
 \r
 \r
@@ -236,7 +226,7 @@ DxePcdGet32Ex (
   IN PCD_TOKEN_NUMBER      ExTokenNumber\r
   )\r
 {\r
   IN PCD_TOKEN_NUMBER      ExTokenNumber\r
   )\r
 {\r
-  return *((UINT32 *) ExGetWorker (Guid, ExTokenNumber, sizeof(UINT32)));\r
+  return ReadUnaligned32 (ExGetWorker (Guid, ExTokenNumber, sizeof(UINT32)));\r
 }\r
 \r
 \r
 }\r
 \r
 \r
@@ -248,10 +238,7 @@ DxePcdGet64Ex (
   IN PCD_TOKEN_NUMBER      ExTokenNumber\r
   )\r
 {\r
   IN PCD_TOKEN_NUMBER      ExTokenNumber\r
   )\r
 {\r
-  //\r
-  // BugBug: Must be changed to ReadUnaligned64\r
-  //\r
-  return *((UINT64 *) ExGetWorker (Guid, ExTokenNumber, sizeof(UINT64)));\r
+  return ReadUnaligned64 (ExGetWorker (Guid, ExTokenNumber, sizeof(UINT64)));\r
 }\r
 \r
 \r
 }\r
 \r
 \r
@@ -287,11 +274,7 @@ DxePcdGetSizeEx (
   IN PCD_TOKEN_NUMBER      ExTokenNumber\r
   )\r
 {\r
   IN PCD_TOKEN_NUMBER      ExTokenNumber\r
   )\r
 {\r
-  EX_PCD_ENTRY_ATTRIBUTE    Attr;\r
-  \r
-  GetExPcdTokenAttributes (Guid, ExTokenNumber, &Attr);\r
-\r
-  return Attr.Size;\r
+  return DxePcdGetSize(GetExPcdTokenNumber (Guid, ExTokenNumber));\r
 }\r
 \r
 \r
 }\r
 \r
 \r