]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Universal/PCD/Test/PcdTest.c
Add in support for GetNextTokenNumber API.
[mirror_edk2.git] / EdkModulePkg / Universal / PCD / Test / PcdTest.c
index 77e25ac2b6811eeea9743dad4f0215e9d0089714..6f2a5f1f1f4122a7566b3fdfeb8714879f6dfcc0 100644 (file)
@@ -23,9 +23,10 @@ CONST GUID Guid1  = GUID1;
 EFI_STATUS\r
 EFIAPI\r
 OnsetCallback1 (\r
 EFI_STATUS\r
 EFIAPI\r
 OnsetCallback1 (\r
-  IN  UINT32    CallBackToken,\r
-  IN  VOID      *TokenData,\r
-  IN  UINTN     TokenDataSize\r
+  IN  CONST EFI_GUID  *Guid,\r
+  IN  UINT32          CallBackToken,\r
+  IN  VOID            *TokenData,\r
+  IN  UINTN           TokenDataSize\r
   )\r
 {\r
   DebugPrint (0x80000000, "In CallbackOnSet %x %d\n", * ((UINT32 *)TokenData), TokenDataSize);    \r
   )\r
 {\r
   DebugPrint (0x80000000, "In CallbackOnSet %x %d\n", * ((UINT32 *)TokenData), TokenDataSize);    \r
@@ -38,58 +39,37 @@ DoTest(
   VOID\r
   )\r
 {\r
   VOID\r
   )\r
 {\r
-  PCD_TOKEN_NUMBER tn;\r
-  UINTN Size;\r
-  VOID * Ptr;\r
-  UINT32 Uint32;\r
-  UINT32 Uint32a;\r
-  UINT64 Uint64;\r
-  UINT64 Uint64a;\r
-  INTN i;\r
-\r
-  tn = 0x00001000;\r
-\r
-  Size = LibPcdGetSize (tn);\r
-  Ptr = LibPcdGetPtr (tn); /* a:RW;2880;512!e:RW;262144;512 */\r
-  \r
-  tn = 0x00001001;\r
-  Size = LibPcdGetSize (tn); /* FW;40960;512 */\r
-  \r
-  tn = 0x00001002;\r
-  Size = LibPcdGetSize (tn); /* FW;40960;512 */\r
-  Ptr = LibPcdGetPtr (tn);\r
-  \r
-  LibPcdSetSku (0x0a);\r
-  tn = 0x2233;\r
-  Uint64 = LibPcdGet64 (tn);\r
-  \r
-  LibPcdSetSku (0x0b);\r
-  Uint64 = LibPcdGet64 (tn);\r
-  \r
-  LibPcdSetSku (0x0c);\r
-  Uint64a = LibPcdGet64 (tn);\r
-  \r
-  LibPcdSetSku (0);\r
-  tn = 0x2233;\r
-  Uint64 = LibPcdGet64 (tn);\r
-  \r
-  \r
-  tn = 0xfaceface;\r
-  Size = LibPcdGetExSize (&Guid1, tn);\r
-  Uint32 = LibPcdGetEx32 (&Guid1, tn);\r
-  \r
-  LibPcdCallBackOnSet (&Guid1, tn, OnsetCallback1);\r
-  \r
-  LibPcdCancelCallBackOnSet (&Guid1, tn, OnsetCallback1);\r
-  \r
-  for (i = 0; i < 2; i++) {\r
-    Uint32a = LibPcdSetEx32 (&Guid1, tn, Uint32 + i);\r
-    DebugPrint (0x80000000, "%x\n", Uint32a);\r
-  }\r
-  \r
+  UINT8     u8;\r
+  UINT16    u16;\r
+  UINT32    u32;\r
+  UINT64    u64;\r
+  PCD_TOKEN_NUMBER Token;\r
   \r
   \r
+\r
+  LibPcdCallbackOnSet (NULL, PcdToken(PcdTestDynamicUint32), OnsetCallback1);\r
   \r
   \r
-  Uint32 = LibPcdGet32 (tn);\r
+  u32 = 0xafafafaf;\r
+  PcdSet32(PcdTestDynamicUint32, u32);\r
+\r
+  u64 = 0xafafafaf00000000;\r
+  PcdSet64(PcdTestDynamicUint64, u64);\r
+\r
+  u8 = PcdGet8(PcdTestDynamicUint8);\r
+  u16 = PcdGet16(PcdTestDynamicUint16);\r
+\r
+\r
+  ASSERT (u8 == 0x01);\r
+  ASSERT (u16 == 0x1234);\r
+  ASSERT (u64 == PcdGet64(PcdTestDynamicUint64));\r
+  ASSERT (u32 == PcdGet32(PcdTestDynamicUint32));\r
+\r
+\r
+  Token = PCD_INVALID_TOKEN_NUMBER;\r
+\r
+  do {\r
+    Token = LibPcdGetNextToken (NULL, Token);\r
+    DebugPrint (EFI_D_ERROR, "Next Token Number is %d\n", Token);\r
+  } while (Token != PCD_INVALID_TOKEN_NUMBER);\r
   \r
   \r
   return;\r
   \r
   \r
   return;\r