1)Add a new module CapsuleRuntime under EdkModulePkg\Universal\Capsule\RuntimeDxe...
[people/mcb30/edk2.git] / edk2 / EdkModulePkg / Include / Guid / ExtendedSalGuid.h
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 #if (EFI_SPECIFICATION_VERSION >= 0x00020000)\r
147   ,\r
148   EsalQueryVariableInfo\r
149 #endif\r
150 } EFI_EXTENDED_SAL_VARIABLE_SERVICES_FUNC_ID;\r
151 \r
152 typedef enum {\r
153   GetNextHighMonotonicCount\r
154 } EFI_EXTENDED_SAL_MTC_SERVICES_FUNC_ID;\r
155 \r
156 typedef enum {\r
157   ResetSystem\r
158 } EFI_EXTENDED_SAL_RESET_SERVICES_FUNC_ID;\r
159 \r
160 typedef enum {\r
161   StatusCode\r
162 } EFI_EXTENDED_SAL_STATUS_CODE_FUNC_ID;\r
163 \r
164 typedef enum {\r
165   ReportStatusCodeService\r
166 } EFI_EXTENDED_SAL_STATUS_CODE_SERVICES_FUNC_ID;\r
167 \r
168 typedef enum {\r
169   Read,\r
170   Write,\r
171   EraseBlock,\r
172   GetVolumeAttributes,\r
173   SetVolumeAttributes,\r
174   GetPhysicalAddress,\r
175   GetBlockSize,\r
176   EraseCustomBlockRange,\r
177 } EFI_EXTENDED_SAL_FV_BLOCK_SERVICES_FUNC_ID;\r
178 \r
179 typedef enum {\r
180   AddCpuData,\r
181   RemoveCpuData,\r
182   ModifyCpuData,\r
183   GetCpuDataByID,\r
184   GetCpuDataByIndex,\r
185   SendIpi,\r
186   CurrentProcInfo,\r
187   NumProcessors,\r
188   SetMinState,\r
189   GetMinState\r
190 } EFI_EXTENDED_SAL_MP_SERVICES_FUNC_ID;\r
191 \r
192 typedef enum {\r
193   PalProc,\r
194   SetNewPalEntry,\r
195   GetNewPalEntry\r
196 } EFI_EXTENDED_SAL_PAL_SERVICES_FUNC_ID;\r
197 \r
198 typedef enum {\r
199   SalSetVectors,\r
200   SalMcRendez,\r
201   SalMcSetParams,\r
202   EsalGetVectors,\r
203   EsalMcGetParams,\r
204   EsalMcGetMcParams,\r
205   EsalGetMcCheckinFlags,\r
206   EsalGetPlatformBaseFreq\r
207 } EFI_EXTENDED_SAL_BASE_SERVICES_FUNC_ID;\r
208 \r
209 typedef enum {\r
210   McaGetStateInfo,\r
211   McaRegisterCpu\r
212 } EFI_EXTENDED_SAL_MCA_SERVICES_FUNC_ID;\r
213 \r
214 typedef enum {\r
215   SalPciConfigRead,\r
216   SalPciConfigWrite\r
217 } EFI_EXTENDED_SAL_PCI_SERVICES_FUNC_ID;\r
218 \r
219 typedef enum {\r
220   SalCacheInit,\r
221   SalCacheFlush\r
222 } EFI_EXTENDED_SAL_CACHE_SERVICES_FUNC_ID;\r
223 \r
224 typedef enum {\r
225   SalGetStateInfo,\r
226   SalGetStateInfoSize,\r
227   SalClearStateInfo,\r
228   EsalGetStateBuffer,\r
229   EsalSaveStateBuffer\r
230 } EFI_EXTENDED_SAL_MCA_LOG_SERVICES_FUNC_ID;\r
231 \r
232 typedef enum {\r
233   SalSetEventLogData,\r
234   SalGetEventLogData,\r
235   SalEraseEventLogData,\r
236   SalActivateEventLogData\r
237 } EFI_EXTENDED_SAL_ELOG_SERVICES_FUNC_ID;\r
238 \r
239 typedef enum {\r
240   EsalGetComControllerInfo,\r
241   EsalSendComData,\r
242   EsalReceiveComData \r
243 } EFI_EXTENDED_SAL_SM_COM_LAYER_SERVICES_FUNC_ID;\r
244 \r
245 typedef enum {\r
246   SalUpdatePal\r
247 } EFI_EXTENDED_SAL_UPDATE_PAL_SERVICES_FUNC_ID;\r
248 \r
249 typedef enum {\r
250   EsalReadSensorInfo,   \r
251   EsalReadSensorStatus,\r
252   EsalRearmSensor,\r
253   EsalReadSensorData  \r
254 } EFI_EXTENDED_SAL_SENSOR_SERVICES_FUNC_ID;\r
255 \r
256 typedef struct {\r
257   UINT64      ProtoData;       \r
258 } ESAL_GUID_DUMMY_PROTOCOL;\r
259 \r
260 extern EFI_GUID gEfiExtendedSalBaseIoServicesProtocolGuid;\r
261 extern EFI_GUID gEfiExtendedSalStallServicesProtocolGuid;\r
262 extern EFI_GUID gEfiExtendedSalLockServicesProtocolGuid;\r
263 extern EFI_GUID gEfiExtendedSalVirtualServicesProtocolGuid;\r
264 extern EFI_GUID gEfiExtendedSalRtcServicesProtocolGuid;\r
265 extern EFI_GUID gEfiExtendedSalVariableServicesProtocolGuid;\r
266 extern EFI_GUID gEfiExtendedSalMtcServicesProtocolGuid;\r
267 extern EFI_GUID gEfiExtendedSalResetServicesProtocolGuid;\r
268 extern EFI_GUID gEfiExtendedSalStatusCodeServicesProtocolGuid;\r
269 extern EFI_GUID gEfiExtendedSalFvBlockServicesProtocolGuid;\r
270 extern EFI_GUID gEfiExtendedSalMpServicesProtocolGuid;\r
271 extern EFI_GUID gEfiExtendedSalPalServicesProtocolGuid;\r
272 extern EFI_GUID gEfiExtendedSalBaseServicesProtocolGuid;\r
273 extern EFI_GUID gEfiExtendedSalMcaServicesProtocolGuid;\r
274 extern EFI_GUID gEfiExtendedSalPciServicesProtocolGuid;\r
275 extern EFI_GUID gEfiExtendedSalCacheServicesProtocolGuid;\r
276 extern EFI_GUID gEfiExtendedSalMcaLogServicesProtocolGuid;\r
277 extern EFI_GUID gEfiExtendedSalElogServicesProtocolGuid;\r
278 extern EFI_GUID gEfiExtendedSalSensorServicesProtocolGuid;\r
279 extern EFI_GUID gEfiExtendedSalSmComLayerServicesProtocolGuid;\r
280 extern EFI_GUID gEfiExtendedSalSstGuid;\r
281 \r
282 \r
283 #endif\r