]> git.proxmox.com Git - mirror_edk2.git/blame - EdkModulePkg/Include/Guid/ExtendedSalGuid.h
Add in support for MaxSize and CurrentSize for PCD entry.
[mirror_edk2.git] / EdkModulePkg / Include / Guid / ExtendedSalGuid.h
CommitLineData
878ddf1f 1/*++\r
2\r
3Copyright (c) 2006, Intel Corporation \r
4All rights reserved. This program and the accompanying materials \r
5are licensed and made available under the terms and conditions of the BSD License \r
6which accompanies this distribution. The full text of the license may be found at \r
7http://opensource.org/licenses/bsd-license.php \r
8 \r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11\r
12Module Name:\r
13\r
14 ExtendedSalGuid.h\r
15\r
16Abstract:\r
17\r
18 \r
19--*/\r
20\r
21#ifndef _EXTENDED_SAL_GUID_H_\r
22#define _EXTENDED_SAL_GUID_H_\r
23\r
24//\r
25// Extended SAL Services protocol GUIDs\r
26//\r
27\r
28#define EFI_EXTENDED_SAL_BASE_IO_SERVICES_PROTOCOL_GUID \\r
29 { 0x5aea42b5, 0x31e1, 0x4515, {0xbc, 0x31, 0xb8, 0xd5, 0x25, 0x75, 0x65, 0xa6 } }\r
30\r
31#define EFI_EXTENDED_SAL_STALL_SERVICES_PROTOCOL_GUID \\r
32 { 0x53a58d06, 0xac27, 0x4d8c, {0xb5, 0xe9, 0xf0, 0x8a, 0x80, 0x65, 0x41, 0x70 } }\r
33\r
34#define EFI_EXTENDED_SAL_LOCK_SERVICES_PROTOCOL_GUID \\r
35 { 0x76b75c23, 0xfe4f, 0x4e17, {0xa2, 0xad, 0x1a, 0x65, 0x3d, 0xbb, 0x49, 0x4a } }\r
36\r
37#define EFI_EXTENDED_SAL_VIRTUAL_SERVICES_PROTOCOL_GUID \\r
38 { 0xc1a74056, 0x260e, 0x4871, {0xa0, 0x31, 0xe6, 0x45, 0xa6, 0x5b, 0x6e, 0x11 } }\r
39\r
40#define EFI_EXTENDED_SAL_RTC_SERVICES_PROTOCOL_GUID \\r
41 { 0x7e97a470, 0xefdb, 0x4d02, {0x8f, 0xce, 0x61, 0x90, 0xd2, 0x7b, 0xa2, 0x96 } }\r
42\r
43#define EFI_EXTENDED_SAL_VARIABLE_SERVICES_PROTOCOL_GUID \\r
44 { 0x4ecb6c53, 0xc641, 0x4370, {0x8c, 0xb2, 0x3b, 0x0e, 0x49, 0x6e, 0x83, 0x78 } }\r
45\r
46#define EFI_EXTENDED_SAL_MTC_SERVICES_PROTOCOL_GUID \\r
47 { 0x899afd18, 0x75e8, 0x408b, {0xa4, 0x1a, 0x6e, 0x2e, 0x7e, 0xcd, 0xf4, 0x54 } }\r
48\r
49#define EFI_EXTENDED_SAL_RESET_SERVICES_PROTOCOL_GUID \\r
50 { 0x7d019990, 0x8ce1, 0x46f5, {0xa7, 0x76, 0x3c, 0x51, 0x98, 0x67, 0x6a, 0xa0 } }\r
51\r
52#define EFI_EXTENDED_SAL_STATUS_CODE_SERVICES_PROTOCOL_GUID \\r
53 { 0xdbd91d, 0x55e9, 0x420f, {0x96, 0x39, 0x5e, 0x9f, 0x84, 0x37, 0xb4, 0x4f } }\r
54\r
55#define EFI_EXTENDED_SAL_FV_BLOCK_SERVICES_PROTOCOL_GUID \\r
56 { 0xa2271df1, 0xbcbb, 0x4f1d, {0x98, 0xa9, 0x06, 0xbc, 0x17, 0x2f, 0x07, 0x1a } }\r
57\r
58#define EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID \\r
59 { 0x697d81a2, 0xcf18, 0x4dc0, {0x9e, 0x0d, 0x06, 0x11, 0x3b, 0x61, 0x8a, 0x3f } }\r
60\r
61#define EFI_EXTENDED_SAL_PAL_SERVICES_PROTOCOL_GUID \\r
62 { 0xe1cd9d21, 0x0fc2, 0x438d, {0x97, 0x03, 0x04, 0xe6, 0x6d, 0x96, 0x1e, 0x57 } }\r
63\r
64#define EFI_EXTENDED_SAL_BASE_SERVICES_PROTOCOL_GUID \\r
65 { 0xd9e9fa06, 0x0fe0, 0x41c3, {0x96, 0xfb, 0x83, 0x42, 0x5a, 0x33, 0x94, 0xf8 } }\r
66\r
67#define EFI_EXTENDED_SAL_MCA_SERVICES_PROTOCOL_GUID \\r
68 { 0x2a591128, 0x6cc7, 0x42b1, {0x8a, 0xf0, 0x58, 0x93, 0x3b, 0x68, 0x2d, 0xbb } }\r
69\r
70#define EFI_EXTENDED_SAL_PCI_SERVICES_PROTOCOL_GUID \\r
71 { 0xa46b1a31, 0xad66, 0x4905, {0x92, 0xf6, 0x2b, 0x46, 0x59, 0xdc, 0x30, 0x63 } }\r
72\r
73#define EFI_EXTENDED_SAL_CACHE_SERVICES_PROTOCOL_GUID \\r
74 { 0xedc9494, 0x2743, 0x4ba5, { 0x88, 0x18, 0x0a, 0xef, 0x52, 0x13, 0xf1, 0x88 } }\r
75\r
76#define EFI_EXTENDED_SAL_MCA_LOG_SERVICES_PROTOCOL_GUID \\r
77 { 0xcb3fd86e, 0x38a3, 0x4c03, {0x9a, 0x5c, 0x90, 0xcf, 0xa3, 0xa2, 0xab, 0x7a } }\r
78\r
79#define EFI_EXTENDED_SAL_ELOG_SERVICES_PROTOCOL_GUID \\r
80 { 0xd5e4ee5f, 0x3e0a, 0x453c, {0xa7, 0x25, 0xb6, 0x92, 0xbb, 0x6, 0x36, 0x5a } }\r
81\r
82#define EFI_EXTENDED_SAL_SENSOR_SERVICES_PROTOCOL_GUID \\r
83 { 0x4a153b6e, 0x85a1, 0x4982, {0x98, 0xf4, 0x6a, 0x8c, 0xfc, 0xa4, 0xab, 0xa1 } }\r
84\r
85#define EFI_EXTENDED_SAL_SM_COM_LAYER_SERVICES_PROTOCOL_GUID \\r
86 { 0x4356799, 0x81b7, 0x4e08, { 0xa3, 0x8d, 0xd9, 0x78, 0xfa, 0x47, 0xba, 0x42 } }\r
87\r
88#define EFI_EXTENDED_SAL_SST_GUID \\r
89 { 0x38802700, 0x868a, 0x4b4e, {0x81, 0xd4, 0x4f, 0x1b, 0xdc, 0xcf, 0xb4, 0x6f } }\r
90\r
91//\r
92// Extended Sal Proc Function IDs.\r
93//\r
94\r
95//\r
96// BugBug: These enums are name colisions waiting to happen. They should all be\r
97// prefixed with Esal! It might be better to just make them #define, so\r
98// they would be all caps.\r
99//\r
100\r
101typedef enum {\r
102 IoRead,\r
103 IoWrite,\r
104 MemRead,\r
105 MemWrite\r
106} EFI_EXTENDED_SAL_BASE_IO_SERVICES_FUNC_ID;\r
107\r
108typedef enum {\r
109 Stall\r
110} EFI_EXTENDED_SAL_STALL_FUNC_ID;\r
111\r
112\r
113typedef enum {\r
114 InitializeLockService,\r
115 AcquireLockService,\r
116 ReleaseLockService,\r
117 MaxLockServiceFunctionId\r
118} EFI_EXTENDED_SAL_LOCK_SERVICES_FUNC_ID;\r
119\r
120//\r
121// BugBug : Covert the first 3 functions into a lib functions\r
122// and move SalRegisterPhysicalAddress to SAL BASE Class\r
123//\r
124typedef enum {\r
125 SetVirtualAddress,\r
126 IsVirtual,\r
127 IsEfiRuntime,\r
128 SalRegisterPhysicalAddress\r
129} EFI_EXTENDED_SAL_VIRTUAL_SERVICES_FUNC_ID;\r
130\r
131typedef enum {\r
132 GetTime,\r
133 SetTime,\r
134 GetWakeupTime,\r
135 SetWakeupTime,\r
136 GetRtcFreq,\r
137 InitializeThreshold,\r
138 BumpThresholdCount,\r
139 GetThresholdCount\r
140} EFI_EXTENDED_SAL_RTC_SERVICES_FUNC_ID;\r
141\r
142typedef enum {\r
143 EsalGetVariable,\r
144 EsalGetNextVariableName,\r
145 EsalSetVariable\r
146} EFI_EXTENDED_SAL_VARIABLE_SERVICES_FUNC_ID;\r
147\r
148typedef enum {\r
149 GetNextHighMonotonicCount\r
150} EFI_EXTENDED_SAL_MTC_SERVICES_FUNC_ID;\r
151\r
152typedef enum {\r
153 ResetSystem\r
154} EFI_EXTENDED_SAL_RESET_SERVICES_FUNC_ID;\r
155\r
156typedef enum {\r
157 StatusCode\r
158} EFI_EXTENDED_SAL_STATUS_CODE_FUNC_ID;\r
159\r
160typedef enum {\r
161 ReportStatusCodeService\r
162} EFI_EXTENDED_SAL_STATUS_CODE_SERVICES_FUNC_ID;\r
163\r
164typedef enum {\r
165 Read,\r
166 Write,\r
167 EraseBlock,\r
168 GetVolumeAttributes,\r
169 SetVolumeAttributes,\r
170 GetPhysicalAddress,\r
171 GetBlockSize,\r
172 EraseCustomBlockRange,\r
173} EFI_EXTENDED_SAL_FV_BLOCK_SERVICES_FUNC_ID;\r
174\r
175typedef enum {\r
176 AddCpuData,\r
177 RemoveCpuData,\r
178 ModifyCpuData,\r
179 GetCpuDataByID,\r
180 GetCpuDataByIndex,\r
181 SendIpi,\r
182 CurrentProcInfo,\r
183 NumProcessors,\r
184 SetMinState,\r
185 GetMinState\r
186} EFI_EXTENDED_SAL_MP_SERVICES_FUNC_ID;\r
187\r
188typedef enum {\r
189 PalProc,\r
190 SetNewPalEntry,\r
191 GetNewPalEntry\r
192} EFI_EXTENDED_SAL_PAL_SERVICES_FUNC_ID;\r
193\r
194typedef enum {\r
195 SalSetVectors,\r
196 SalMcRendez,\r
197 SalMcSetParams,\r
198 EsalGetVectors,\r
199 EsalMcGetParams,\r
200 EsalMcGetMcParams,\r
201 EsalGetMcCheckinFlags,\r
202 EsalGetPlatformBaseFreq\r
203} EFI_EXTENDED_SAL_BASE_SERVICES_FUNC_ID;\r
204\r
205typedef enum {\r
206 McaGetStateInfo,\r
207 McaRegisterCpu\r
208} EFI_EXTENDED_SAL_MCA_SERVICES_FUNC_ID;\r
209\r
210typedef enum {\r
211 SalPciConfigRead,\r
212 SalPciConfigWrite\r
213} EFI_EXTENDED_SAL_PCI_SERVICES_FUNC_ID;\r
214\r
215typedef enum {\r
216 SalCacheInit,\r
217 SalCacheFlush\r
218} EFI_EXTENDED_SAL_CACHE_SERVICES_FUNC_ID;\r
219\r
220typedef enum {\r
221 SalGetStateInfo,\r
222 SalGetStateInfoSize,\r
223 SalClearStateInfo,\r
224 EsalGetStateBuffer,\r
225 EsalSaveStateBuffer\r
226} EFI_EXTENDED_SAL_MCA_LOG_SERVICES_FUNC_ID;\r
227\r
228typedef enum {\r
229 SalSetEventLogData,\r
230 SalGetEventLogData,\r
231 SalEraseEventLogData,\r
232 SalActivateEventLogData\r
233} EFI_EXTENDED_SAL_ELOG_SERVICES_FUNC_ID;\r
234\r
235typedef enum {\r
236 EsalGetComControllerInfo,\r
237 EsalSendComData,\r
238 EsalReceiveComData \r
239} EFI_EXTENDED_SAL_SM_COM_LAYER_SERVICES_FUNC_ID;\r
240\r
241typedef enum {\r
242 SalUpdatePal\r
243} EFI_EXTENDED_SAL_UPDATE_PAL_SERVICES_FUNC_ID;\r
244\r
245typedef enum {\r
246 EsalReadSensorInfo, \r
247 EsalReadSensorStatus,\r
248 EsalRearmSensor,\r
249 EsalReadSensorData \r
250} EFI_EXTENDED_SAL_SENSOR_SERVICES_FUNC_ID;\r
251\r
252typedef struct {\r
253 UINT64 ProtoData; \r
254} ESAL_GUID_DUMMY_PROTOCOL;\r
255\r
256extern EFI_GUID gEfiExtendedSalBaseIoServicesProtocolGuid;\r
257extern EFI_GUID gEfiExtendedSalStallServicesProtocolGuid;\r
258extern EFI_GUID gEfiExtendedSalLockServicesProtocolGuid;\r
259extern EFI_GUID gEfiExtendedSalVirtualServicesProtocolGuid;\r
260extern EFI_GUID gEfiExtendedSalRtcServicesProtocolGuid;\r
261extern EFI_GUID gEfiExtendedSalVariableServicesProtocolGuid;\r
262extern EFI_GUID gEfiExtendedSalMtcServicesProtocolGuid;\r
263extern EFI_GUID gEfiExtendedSalResetServicesProtocolGuid;\r
264extern EFI_GUID gEfiExtendedSalStatusCodeServicesProtocolGuid;\r
265extern EFI_GUID gEfiExtendedSalFvBlockServicesProtocolGuid;\r
266extern EFI_GUID gEfiExtendedSalMpServicesProtocolGuid;\r
267extern EFI_GUID gEfiExtendedSalPalServicesProtocolGuid;\r
268extern EFI_GUID gEfiExtendedSalBaseServicesProtocolGuid;\r
269extern EFI_GUID gEfiExtendedSalMcaServicesProtocolGuid;\r
270extern EFI_GUID gEfiExtendedSalPciServicesProtocolGuid;\r
271extern EFI_GUID gEfiExtendedSalCacheServicesProtocolGuid;\r
272extern EFI_GUID gEfiExtendedSalMcaLogServicesProtocolGuid;\r
273extern EFI_GUID gEfiExtendedSalElogServicesProtocolGuid;\r
274extern EFI_GUID gEfiExtendedSalSensorServicesProtocolGuid;\r
275extern EFI_GUID gEfiExtendedSalSmComLayerServicesProtocolGuid;\r
276extern EFI_GUID gEfiExtendedSalSstGuid;\r
277\r
278\r
279#endif\r