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