Home | History | Annotate | Download | only in ExtendedSalGuid
      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