1 /*++ 2 3 Copyright (c) 2004 - 2006, Intel Corporation. All rights reserved.<BR> 4 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 ReportStatusCode 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 284