]> git.proxmox.com Git - mirror_edk2.git/blame - EdkModulePkg/Universal/PCD/Test/PcdTest.c
Initial import.
[mirror_edk2.git] / EdkModulePkg / Universal / PCD / Test / PcdTest.c
CommitLineData
878ddf1f 1/** @file\r
2PCD TEST PEIM\r
3\r
4Copyright (c) 2006, Intel Corporation \r
5All rights reserved. This program and the accompanying materials \r
6are licensed and made available under the terms and conditions of the BSD License \r
7which accompanies this distribution. The full text of the license may be found at \r
8http://opensource.org/licenses/bsd-license.php \r
9 \r
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
12\r
13\r
14Module Name: PcdTest.c\r
15\r
16**/\r
17#define GUID1 \\r
18 {0xF9349C58, 0xB767, 0x42c8, 0xB3, 0x6B, 0x41, 0x25, 0xDE, 0x3A, 0xEF, 0xEB}\r
19\r
20CONST GUID Guid1 = GUID1;\r
21\r
22\r
23EFI_STATUS\r
24EFIAPI\r
25OnsetCallback1 (\r
26 IN UINT32 CallBackToken,\r
27 IN VOID *TokenData,\r
28 IN UINTN TokenDataSize\r
29 )\r
30{\r
31 DebugPrint (0x80000000, "In CallbackOnSet %x %d\n", * ((UINT32 *)TokenData), TokenDataSize); \r
32 return EFI_SUCCESS;\r
33}\r
34\r
35\r
36VOID\r
37DoTest(\r
38 VOID\r
39 )\r
40{\r
41 PCD_TOKEN_NUMBER tn;\r
42 UINTN Size;\r
43 VOID * Ptr;\r
44 UINT32 Uint32;\r
45 UINT32 Uint32a;\r
46 UINT64 Uint64;\r
47 UINT64 Uint64a;\r
48 INTN i;\r
49\r
50 tn = 0x00001000;\r
51\r
52 Size = LibPcdGetSize (tn);\r
53 Ptr = LibPcdGetPtr (tn); /* a:RW;2880;512!e:RW;262144;512 */\r
54 \r
55 tn = 0x00001001;\r
56 Size = LibPcdGetSize (tn); /* FW;40960;512 */\r
57 \r
58 tn = 0x00001002;\r
59 Size = LibPcdGetSize (tn); /* FW;40960;512 */\r
60 Ptr = LibPcdGetPtr (tn);\r
61 \r
62 LibPcdSetSku (0x0a);\r
63 tn = 0x2233;\r
64 Uint64 = LibPcdGet64 (tn);\r
65 \r
66 LibPcdSetSku (0x0b);\r
67 Uint64 = LibPcdGet64 (tn);\r
68 \r
69 LibPcdSetSku (0x0c);\r
70 Uint64a = LibPcdGet64 (tn);\r
71 \r
72 LibPcdSetSku (0);\r
73 tn = 0x2233;\r
74 Uint64 = LibPcdGet64 (tn);\r
75 \r
76 \r
77 tn = 0xfaceface;\r
78 Size = LibPcdGetExSize (&Guid1, tn);\r
79 Uint32 = LibPcdGetEx32 (&Guid1, tn);\r
80 \r
81 LibPcdCallBackOnSet (&Guid1, tn, OnsetCallback1);\r
82 \r
83 LibPcdCancelCallBackOnSet (&Guid1, tn, OnsetCallback1);\r
84 \r
85 for (i = 0; i < 2; i++) {\r
86 Uint32a = LibPcdSetEx32 (&Guid1, tn, Uint32 + i);\r
87 DebugPrint (0x80000000, "%x\n", Uint32a);\r
88 }\r
89 \r
90 \r
91 \r
92 Uint32 = LibPcdGet32 (tn);\r
93 \r
94 \r
95 return;\r
96}\r
97\r
98EFI_STATUS\r
99EFIAPI\r
100PcdTestPeimInit (\r
101 IN EFI_FFS_FILE_HEADER *FfsHeader,\r
102 IN EFI_PEI_SERVICES **PeiServices\r
103 )\r
104{\r
105\r
106 DoTest();\r
107 \r
108 return EFI_SUCCESS;\r
109}\r
110\r