878ddf1f |
1 | /*++\r |
2 | \r |
3 | Copyright (c) 2006, Intel Corporation \r |
4 | All rights reserved. This program and the accompanying materials \r |
5 | are licensed and made available under the terms and conditions of the BSD License \r |
6 | which accompanies this distribution. The full text of the license may be found at \r |
7 | http://opensource.org/licenses/bsd-license.php \r |
8 | \r |
9 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r |
10 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r |
11 | \r |
12 | Module Name:\r |
13 | \r |
14 | ExtendedSalGuid.h\r |
15 | \r |
16 | Abstract:\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 |
101 | typedef 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 |
108 | typedef enum {\r |
109 | Stall\r |
110 | } EFI_EXTENDED_SAL_STALL_FUNC_ID;\r |
111 | \r |
112 | \r |
113 | typedef 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 |
124 | typedef 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 |
131 | typedef 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 |
142 | typedef enum {\r |
143 | EsalGetVariable,\r |
144 | EsalGetNextVariableName,\r |
145 | EsalSetVariable\r |
146 | } EFI_EXTENDED_SAL_VARIABLE_SERVICES_FUNC_ID;\r |
147 | \r |
148 | typedef enum {\r |
149 | GetNextHighMonotonicCount\r |
150 | } EFI_EXTENDED_SAL_MTC_SERVICES_FUNC_ID;\r |
151 | \r |
152 | typedef enum {\r |
153 | ResetSystem\r |
154 | } EFI_EXTENDED_SAL_RESET_SERVICES_FUNC_ID;\r |
155 | \r |
156 | typedef enum {\r |
157 | StatusCode\r |
158 | } EFI_EXTENDED_SAL_STATUS_CODE_FUNC_ID;\r |
159 | \r |
160 | typedef enum {\r |
161 | ReportStatusCodeService\r |
162 | } EFI_EXTENDED_SAL_STATUS_CODE_SERVICES_FUNC_ID;\r |
163 | \r |
164 | typedef 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 |
175 | typedef 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 |
188 | typedef enum {\r |
189 | PalProc,\r |
190 | SetNewPalEntry,\r |
191 | GetNewPalEntry\r |
192 | } EFI_EXTENDED_SAL_PAL_SERVICES_FUNC_ID;\r |
193 | \r |
194 | typedef 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 |
205 | typedef enum {\r |
206 | McaGetStateInfo,\r |
207 | McaRegisterCpu\r |
208 | } EFI_EXTENDED_SAL_MCA_SERVICES_FUNC_ID;\r |
209 | \r |
210 | typedef enum {\r |
211 | SalPciConfigRead,\r |
212 | SalPciConfigWrite\r |
213 | } EFI_EXTENDED_SAL_PCI_SERVICES_FUNC_ID;\r |
214 | \r |
215 | typedef enum {\r |
216 | SalCacheInit,\r |
217 | SalCacheFlush\r |
218 | } EFI_EXTENDED_SAL_CACHE_SERVICES_FUNC_ID;\r |
219 | \r |
220 | typedef 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 |
228 | typedef 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 |
235 | typedef enum {\r |
236 | EsalGetComControllerInfo,\r |
237 | EsalSendComData,\r |
238 | EsalReceiveComData \r |
239 | } EFI_EXTENDED_SAL_SM_COM_LAYER_SERVICES_FUNC_ID;\r |
240 | \r |
241 | typedef enum {\r |
242 | SalUpdatePal\r |
243 | } EFI_EXTENDED_SAL_UPDATE_PAL_SERVICES_FUNC_ID;\r |
244 | \r |
245 | typedef 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 |
252 | typedef struct {\r |
253 | UINT64 ProtoData; \r |
254 | } ESAL_GUID_DUMMY_PROTOCOL;\r |
255 | \r |
256 | extern EFI_GUID gEfiExtendedSalBaseIoServicesProtocolGuid;\r |
257 | extern EFI_GUID gEfiExtendedSalStallServicesProtocolGuid;\r |
258 | extern EFI_GUID gEfiExtendedSalLockServicesProtocolGuid;\r |
259 | extern EFI_GUID gEfiExtendedSalVirtualServicesProtocolGuid;\r |
260 | extern EFI_GUID gEfiExtendedSalRtcServicesProtocolGuid;\r |
261 | extern EFI_GUID gEfiExtendedSalVariableServicesProtocolGuid;\r |
262 | extern EFI_GUID gEfiExtendedSalMtcServicesProtocolGuid;\r |
263 | extern EFI_GUID gEfiExtendedSalResetServicesProtocolGuid;\r |
264 | extern EFI_GUID gEfiExtendedSalStatusCodeServicesProtocolGuid;\r |
265 | extern EFI_GUID gEfiExtendedSalFvBlockServicesProtocolGuid;\r |
266 | extern EFI_GUID gEfiExtendedSalMpServicesProtocolGuid;\r |
267 | extern EFI_GUID gEfiExtendedSalPalServicesProtocolGuid;\r |
268 | extern EFI_GUID gEfiExtendedSalBaseServicesProtocolGuid;\r |
269 | extern EFI_GUID gEfiExtendedSalMcaServicesProtocolGuid;\r |
270 | extern EFI_GUID gEfiExtendedSalPciServicesProtocolGuid;\r |
271 | extern EFI_GUID gEfiExtendedSalCacheServicesProtocolGuid;\r |
272 | extern EFI_GUID gEfiExtendedSalMcaLogServicesProtocolGuid;\r |
273 | extern EFI_GUID gEfiExtendedSalElogServicesProtocolGuid;\r |
274 | extern EFI_GUID gEfiExtendedSalSensorServicesProtocolGuid;\r |
275 | extern EFI_GUID gEfiExtendedSalSmComLayerServicesProtocolGuid;\r |
276 | extern EFI_GUID gEfiExtendedSalSstGuid;\r |
277 | \r |
278 | \r |
279 | #endif\r |