]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/Protocol/ExtendedSalServiceClasses.h
MdePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdePkg / Include / Protocol / ExtendedSalServiceClasses.h
1 /** @file
2 The standard set of Extended SAL service classes.
3
4 Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7 @par Revision Reference:
8 This Protocol was introduced in PI Specification 1.2.
9
10 **/
11
12 #ifndef _EXTENDED_SAL_SERVICE_CLASSES_H_
13 #define _EXTENDED_SAL_SERVICE_CLASSES_H_
14
15 ///
16 /// Extended SAL Base I/O Services Class
17 ///
18 ///@{
19 #define EFI_EXTENDED_SAL_BASE_IO_SERVICES_PROTOCOL_GUID_LO 0x451531e15aea42b5
20 #define EFI_EXTENDED_SAL_BASE_IO_SERVICES_PROTOCOL_GUID_HI 0xa6657525d5b831bc
21 #define EFI_EXTENDED_SAL_BASE_IO_SERVICES_PROTOCOL_GUID \
22 { 0x5aea42b5, 0x31e1, 0x4515, {0xbc, 0x31, 0xb8, 0xd5, 0x25, 0x75, 0x65, 0xa6 } }
23
24 typedef enum {
25 IoReadFunctionId,
26 IoWriteFunctionId,
27 MemReadFunctionId,
28 MemWriteFunctionId
29 } EFI_EXTENDED_SAL_BASE_IO_SERVICES_FUNC_ID;
30 ///@}
31
32 ///
33 /// Extended SAL Stall Services Class
34 ///
35 ///@{
36 #define EFI_EXTENDED_SAL_STALL_SERVICES_PROTOCOL_GUID_LO 0x4d8cac2753a58d06
37 #define EFI_EXTENDED_SAL_STALL_SERVICES_PROTOCOL_GUID_HI 0x704165808af0e9b5
38 #define EFI_EXTENDED_SAL_STALL_SERVICES_PROTOCOL_GUID \
39 { 0x53a58d06, 0xac27, 0x4d8c, {0xb5, 0xe9, 0xf0, 0x8a, 0x80, 0x65, 0x41, 0x70 } }
40
41 typedef enum {
42 StallFunctionId
43 } EFI_EXTENDED_SAL_STALL_FUNC_ID;
44 ///@}
45
46 ///
47 /// Extended SAL Real Time Clock Services Class
48 ///
49 ///@{
50 #define EFI_EXTENDED_SAL_RTC_SERVICES_PROTOCOL_GUID_LO 0x4d02efdb7e97a470
51 #define EFI_EXTENDED_SAL_RTC_SERVICES_PROTOCOL_GUID_HI 0x96a27bd29061ce8f
52 #define EFI_EXTENDED_SAL_RTC_SERVICES_PROTOCOL_GUID \
53 { 0x7e97a470, 0xefdb, 0x4d02, {0x8f, 0xce, 0x61, 0x90, 0xd2, 0x7b, 0xa2, 0x96 } }
54
55 typedef enum {
56 GetTimeFunctionId,
57 SetTimeFunctionId,
58 GetWakeupTimeFunctionId,
59 SetWakeupTimeFunctionId,
60 GetRtcFreqFunctionId,
61 InitializeThresholdFunctionId,
62 BumpThresholdCountFunctionId,
63 GetThresholdCountFunctionId
64 } EFI_EXTENDED_SAL_RTC_SERVICES_FUNC_ID;
65 ///@}
66
67 ///
68 /// Extended SAL Variable Services Class
69 ///
70 ///@{
71 #define EFI_EXTENDED_SAL_VARIABLE_SERVICES_PROTOCOL_GUID_LO 0x4370c6414ecb6c53
72 #define EFI_EXTENDED_SAL_VARIABLE_SERVICES_PROTOCOL_GUID_HI 0x78836e490e3bb28c
73 #define EFI_EXTENDED_SAL_VARIABLE_SERVICES_PROTOCOL_GUID \
74 { 0x4ecb6c53, 0xc641, 0x4370, {0x8c, 0xb2, 0x3b, 0x0e, 0x49, 0x6e, 0x83, 0x78 } }
75
76 typedef enum {
77 EsalGetVariableFunctionId,
78 EsalGetNextVariableNameFunctionId,
79 EsalSetVariableFunctionId,
80 EsalQueryVariableInfoFunctionId
81 } EFI_EXTENDED_SAL_VARIABLE_SERVICES_FUNC_ID;
82 ///@}
83
84 ///
85 /// Extended SAL Monotonic Counter Services Class
86 ///
87 ///@{
88 #define EFI_EXTENDED_SAL_MTC_SERVICES_PROTOCOL_GUID_LO 0x408b75e8899afd18
89 #define EFI_EXTENDED_SAL_MTC_SERVICES_PROTOCOL_GUID_HI 0x54f4cd7e2e6e1aa4
90 #define EFI_EXTENDED_SAL_MTC_SERVICES_PROTOCOL_GUID \
91 { 0x899afd18, 0x75e8, 0x408b, {0xa4, 0x1a, 0x6e, 0x2e, 0x7e, 0xcd, 0xf4, 0x54 } }
92
93 typedef enum {
94 GetNextHighMonotonicCountFunctionId
95 } EFI_EXTENDED_SAL_MTC_SERVICES_FUNC_ID;
96 ///@}
97
98 ///
99 /// Extended SAL Reset Services Class
100 ///
101 ///@{
102 #define EFI_EXTENDED_SAL_RESET_SERVICES_PROTOCOL_GUID_LO 0x46f58ce17d019990
103 #define EFI_EXTENDED_SAL_RESET_SERVICES_PROTOCOL_GUID_HI 0xa06a6798513c76a7
104 #define EFI_EXTENDED_SAL_RESET_SERVICES_PROTOCOL_GUID \
105 { 0x7d019990, 0x8ce1, 0x46f5, {0xa7, 0x76, 0x3c, 0x51, 0x98, 0x67, 0x6a, 0xa0 } }
106
107 typedef enum {
108 ResetSystemFunctionId
109 } EFI_EXTENDED_SAL_RESET_SERVICES_FUNC_ID;
110 ///@}
111
112 ///
113 /// Extended SAL Status Code Services Class
114 ///
115 ///@{
116 #define EFI_EXTENDED_SAL_STATUS_CODE_SERVICES_PROTOCOL_GUID_LO 0x420f55e9dbd91d
117 #define EFI_EXTENDED_SAL_STATUS_CODE_SERVICES_PROTOCOL_GUID_HI 0x4fb437849f5e3996
118 #define EFI_EXTENDED_SAL_STATUS_CODE_SERVICES_PROTOCOL_GUID \
119 { 0xdbd91d, 0x55e9, 0x420f, {0x96, 0x39, 0x5e, 0x9f, 0x84, 0x37, 0xb4, 0x4f } }
120
121 typedef enum {
122 ReportStatusCodeServiceFunctionId
123 } EFI_EXTENDED_SAL_STATUS_CODE_SERVICES_FUNC_ID;
124 ///@}
125
126 ///
127 /// Extended SAL Firmware Volume Block Services Class
128 ///
129 ///@{
130 #define EFI_EXTENDED_SAL_FV_BLOCK_SERVICES_PROTOCOL_GUID_LO 0x4f1dbcbba2271df1
131 #define EFI_EXTENDED_SAL_FV_BLOCK_SERVICES_PROTOCOL_GUID_HI 0x1a072f17bc06a998
132 #define EFI_EXTENDED_SAL_FV_BLOCK_SERVICES_PROTOCOL_GUID \
133 { 0xa2271df1, 0xbcbb, 0x4f1d, {0x98, 0xa9, 0x06, 0xbc, 0x17, 0x2f, 0x07, 0x1a } }
134
135 typedef enum {
136 ReadFunctionId,
137 WriteFunctionId,
138 EraseBlockFunctionId,
139 GetVolumeAttributesFunctionId,
140 SetVolumeAttributesFunctionId,
141 GetPhysicalAddressFunctionId,
142 GetBlockSizeFunctionId,
143 } EFI_EXTENDED_SAL_FV_BLOCK_SERVICES_FUNC_ID;
144 ///@}
145
146 ///
147 /// Extended SAL MP Services Class
148 ///
149 ///@{
150 #define EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID_LO 0x4dc0cf18697d81a2
151 #define EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID_HI 0x3f8a613b11060d9e
152 #define EFI_EXTENDED_SAL_MP_SERVICES_PROTOCOL_GUID \
153 { 0x697d81a2, 0xcf18, 0x4dc0, {0x9e, 0x0d, 0x06, 0x11, 0x3b, 0x61, 0x8a, 0x3f } }
154
155 typedef enum {
156 AddCpuDataFunctionId,
157 RemoveCpuDataFunctionId,
158 ModifyCpuDataFunctionId,
159 GetCpuDataByIDFunctionId,
160 GetCpuDataByIndexFunctionId,
161 SendIpiFunctionId,
162 CurrentProcInfoFunctionId,
163 NumProcessorsFunctionId,
164 SetMinStateFunctionId,
165 GetMinStateFunctionId
166 } EFI_EXTENDED_SAL_MP_SERVICES_FUNC_ID;
167 ///@}
168
169 ///
170 /// Extended SAL PAL Services Class
171 ///
172 ///@{
173 #define EFI_EXTENDED_SAL_PAL_SERVICES_PROTOCOL_GUID_LO 0x438d0fc2e1cd9d21
174 #define EFI_EXTENDED_SAL_PAL_SERVICES_PROTOCOL_GUID_HI 0x571e966de6040397
175 #define EFI_EXTENDED_SAL_PAL_SERVICES_PROTOCOL_GUID \
176 { 0xe1cd9d21, 0x0fc2, 0x438d, {0x97, 0x03, 0x04, 0xe6, 0x6d, 0x96, 0x1e, 0x57 } }
177
178 typedef enum {
179 PalProcFunctionId,
180 SetNewPalEntryFunctionId,
181 GetNewPalEntryFunctionId,
182 EsalUpdatePalFunctionId
183 } EFI_EXTENDED_SAL_PAL_SERVICES_FUNC_ID;
184 ///@}
185
186 ///
187 /// Extended SAL Base Services Class
188 ///
189 ///@{
190 #define EFI_EXTENDED_SAL_BASE_SERVICES_PROTOCOL_GUID_LO 0x41c30fe0d9e9fa06
191 #define EFI_EXTENDED_SAL_BASE_SERVICES_PROTOCOL_GUID_HI 0xf894335a4283fb96
192 #define EFI_EXTENDED_SAL_BASE_SERVICES_PROTOCOL_GUID \
193 { 0xd9e9fa06, 0x0fe0, 0x41c3, {0x96, 0xfb, 0x83, 0x42, 0x5a, 0x33, 0x94, 0xf8 } }
194
195 typedef enum {
196 SalSetVectorsFunctionId,
197 SalMcRendezFunctionId,
198 SalMcSetParamsFunctionId,
199 EsalGetVectorsFunctionId,
200 EsalMcGetParamsFunctionId,
201 EsalMcGetMcParamsFunctionId,
202 EsalGetMcCheckinFlagsFunctionId,
203 EsalGetPlatformBaseFreqFunctionId,
204 EsalPhysicalIdInfoFunctionId,
205 EsalRegisterPhysicalAddrFunctionId
206 } EFI_EXTENDED_SAL_BASE_SERVICES_FUNC_ID;
207 ///@}
208
209 ///
210 /// Extended SAL MCA Services Class
211 ///
212 ///@{
213 #define EFI_EXTENDED_SAL_MCA_SERVICES_PROTOCOL_GUID_LO 0x42b16cc72a591128
214 #define EFI_EXTENDED_SAL_MCA_SERVICES_PROTOCOL_GUID_HI 0xbb2d683b9358f08a
215 #define EFI_EXTENDED_SAL_MCA_SERVICES_PROTOCOL_GUID \
216 { 0x2a591128, 0x6cc7, 0x42b1, {0x8a, 0xf0, 0x58, 0x93, 0x3b, 0x68, 0x2d, 0xbb } }
217
218 typedef enum {
219 McaGetStateInfoFunctionId,
220 McaRegisterCpuFunctionId
221 } EFI_EXTENDED_SAL_MCA_SERVICES_FUNC_ID;
222 ///@}
223
224 ///
225 /// Extended SAL PCI Services Class
226 ///
227 ///@{
228 #define EFI_EXTENDED_SAL_PCI_SERVICES_PROTOCOL_GUID_LO 0x4905ad66a46b1a31
229 #define EFI_EXTENDED_SAL_PCI_SERVICES_PROTOCOL_GUID_HI 0x6330dc59462bf692
230 #define EFI_EXTENDED_SAL_PCI_SERVICES_PROTOCOL_GUID \
231 { 0xa46b1a31, 0xad66, 0x4905, {0x92, 0xf6, 0x2b, 0x46, 0x59, 0xdc, 0x30, 0x63 } }
232
233 typedef enum {
234 SalPciConfigReadFunctionId,
235 SalPciConfigWriteFunctionId
236 } EFI_EXTENDED_SAL_PCI_SERVICES_FUNC_ID;
237 ///@}
238
239 ///
240 /// Extended SAL Cache Services Class
241 ///
242 ///@{
243 #define EFI_EXTENDED_SAL_CACHE_SERVICES_PROTOCOL_GUID_LO 0x4ba52743edc9494
244 #define EFI_EXTENDED_SAL_CACHE_SERVICES_PROTOCOL_GUID_HI 0x88f11352ef0a1888
245 #define EFI_EXTENDED_SAL_CACHE_SERVICES_PROTOCOL_GUID \
246 { 0xedc9494, 0x2743, 0x4ba5, { 0x88, 0x18, 0x0a, 0xef, 0x52, 0x13, 0xf1, 0x88 } }
247
248 typedef enum {
249 SalCacheInitFunctionId,
250 SalCacheFlushFunctionId
251 } EFI_EXTENDED_SAL_CACHE_SERVICES_FUNC_ID;
252 ///@}
253
254 ///
255 /// Extended SAL MCA Log Services Class
256 ///
257 ///@{
258 #define EFI_EXTENDED_SAL_MCA_LOG_SERVICES_PROTOCOL_GUID_LO 0x4c0338a3cb3fd86e
259 #define EFI_EXTENDED_SAL_MCA_LOG_SERVICES_PROTOCOL_GUID_HI 0x7aaba2a3cf905c9a
260 #define EFI_EXTENDED_SAL_MCA_LOG_SERVICES_PROTOCOL_GUID \
261 { 0xcb3fd86e, 0x38a3, 0x4c03, {0x9a, 0x5c, 0x90, 0xcf, 0xa3, 0xa2, 0xab, 0x7a } }
262
263 typedef enum {
264 SalGetStateInfoFunctionId,
265 SalGetStateInfoSizeFunctionId,
266 SalClearStateInfoFunctionId,
267 EsalGetStateBufferFunctionId,
268 EsalSaveStateBufferFunctionId
269 } EFI_EXTENDED_SAL_MCA_LOG_SERVICES_FUNC_ID;
270 ///@}
271
272 #endif