]> git.proxmox.com Git - mirror_edk2.git/blame - EdkModulePkg/Include/Guid/ExtendedSalGuid.h
1) Fix bug in EdkUefiRuntimeLib.msa(EDKT155).
[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
045f4521 146#if (EFI_SPECIFICATION_VERSION >= 0x00020000)\r
147 ,\r
148 EsalQueryVariableInfo\r
149#endif\r
878ddf1f 150} EFI_EXTENDED_SAL_VARIABLE_SERVICES_FUNC_ID;\r
151\r
152typedef enum {\r
153 GetNextHighMonotonicCount\r
154} EFI_EXTENDED_SAL_MTC_SERVICES_FUNC_ID;\r
155\r
156typedef enum {\r
157 ResetSystem\r
158} EFI_EXTENDED_SAL_RESET_SERVICES_FUNC_ID;\r
159\r
160typedef enum {\r
161 StatusCode\r
162} EFI_EXTENDED_SAL_STATUS_CODE_FUNC_ID;\r
163\r
164typedef enum {\r
165 ReportStatusCodeService\r
166} EFI_EXTENDED_SAL_STATUS_CODE_SERVICES_FUNC_ID;\r
167\r
168typedef 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
179typedef 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
192typedef enum {\r
193 PalProc,\r
194 SetNewPalEntry,\r
195 GetNewPalEntry\r
196} EFI_EXTENDED_SAL_PAL_SERVICES_FUNC_ID;\r
197\r
198typedef 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
209typedef enum {\r
210 McaGetStateInfo,\r
211 McaRegisterCpu\r
212} EFI_EXTENDED_SAL_MCA_SERVICES_FUNC_ID;\r
213\r
214typedef enum {\r
215 SalPciConfigRead,\r
216 SalPciConfigWrite\r
217} EFI_EXTENDED_SAL_PCI_SERVICES_FUNC_ID;\r
218\r
219typedef enum {\r
220 SalCacheInit,\r
221 SalCacheFlush\r
222} EFI_EXTENDED_SAL_CACHE_SERVICES_FUNC_ID;\r
223\r
224typedef 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
232typedef 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
239typedef enum {\r
240 EsalGetComControllerInfo,\r
241 EsalSendComData,\r
242 EsalReceiveComData \r
243} EFI_EXTENDED_SAL_SM_COM_LAYER_SERVICES_FUNC_ID;\r
244\r
245typedef enum {\r
246 SalUpdatePal\r
247} EFI_EXTENDED_SAL_UPDATE_PAL_SERVICES_FUNC_ID;\r
248\r
249typedef 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
256typedef struct {\r
257 UINT64 ProtoData; \r
258} ESAL_GUID_DUMMY_PROTOCOL;\r
259\r
260extern EFI_GUID gEfiExtendedSalBaseIoServicesProtocolGuid;\r
261extern EFI_GUID gEfiExtendedSalStallServicesProtocolGuid;\r
262extern EFI_GUID gEfiExtendedSalLockServicesProtocolGuid;\r
263extern EFI_GUID gEfiExtendedSalVirtualServicesProtocolGuid;\r
264extern EFI_GUID gEfiExtendedSalRtcServicesProtocolGuid;\r
265extern EFI_GUID gEfiExtendedSalVariableServicesProtocolGuid;\r
266extern EFI_GUID gEfiExtendedSalMtcServicesProtocolGuid;\r
267extern EFI_GUID gEfiExtendedSalResetServicesProtocolGuid;\r
268extern EFI_GUID gEfiExtendedSalStatusCodeServicesProtocolGuid;\r
269extern EFI_GUID gEfiExtendedSalFvBlockServicesProtocolGuid;\r
270extern EFI_GUID gEfiExtendedSalMpServicesProtocolGuid;\r
271extern EFI_GUID gEfiExtendedSalPalServicesProtocolGuid;\r
272extern EFI_GUID gEfiExtendedSalBaseServicesProtocolGuid;\r
273extern EFI_GUID gEfiExtendedSalMcaServicesProtocolGuid;\r
274extern EFI_GUID gEfiExtendedSalPciServicesProtocolGuid;\r
275extern EFI_GUID gEfiExtendedSalCacheServicesProtocolGuid;\r
276extern EFI_GUID gEfiExtendedSalMcaLogServicesProtocolGuid;\r
277extern EFI_GUID gEfiExtendedSalElogServicesProtocolGuid;\r
278extern EFI_GUID gEfiExtendedSalSensorServicesProtocolGuid;\r
279extern EFI_GUID gEfiExtendedSalSmComLayerServicesProtocolGuid;\r
280extern EFI_GUID gEfiExtendedSalSstGuid;\r
281\r
282\r
283#endif\r