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