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