1 /** @file 2 Include file for definitions in the Intel Platform Innovation Framework for EFI 3 Driver Execution Environment Core Interface Specification (DXE CIS) Version 0.91. 4 5 Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR> 6 SPDX-License-Identifier: BSD-2-Clause-Patent 7 8 **/ 9 10 #ifndef _DXECIS_H_ 11 #define _DXECIS_H_ 12 13 #include <Protocol/StatusCode.h> 14 15 /** 16 Functions of this type are used with the Framework MP Services Protocol and 17 the SMM Services Table to execute a procedure on enabled APs. The context 18 the AP should use durng execution is specified by Buffer. 19 20 @param[in] Buffer The pointer to the procedure's argument. 21 22 **/ 23 typedef 24 VOID 25 (EFIAPI *FRAMEWORK_EFI_AP_PROCEDURE)( 26 IN VOID *Buffer 27 ); 28 29 /// 30 /// The Framework EFI Runtime Services Table as an extension to the EFI 1.10 Runtime Services Table. 31 /// 32 typedef struct { 33 // 34 // Table header for the Framework EFI Runtime Services Table 35 // 36 EFI_TABLE_HEADER Hdr; 37 // 38 // Time services 39 // 40 EFI_GET_TIME GetTime; 41 EFI_SET_TIME SetTime; 42 EFI_GET_WAKEUP_TIME GetWakeupTime; 43 EFI_SET_WAKEUP_TIME SetWakeupTime; 44 // 45 // Virtual memory services 46 // 47 EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap; 48 EFI_CONVERT_POINTER ConvertPointer; 49 // 50 // Variable services 51 // 52 EFI_GET_VARIABLE GetVariable; 53 EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName; 54 EFI_SET_VARIABLE SetVariable; 55 // 56 // Misc 57 // 58 EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount; 59 EFI_RESET_SYSTEM ResetSystem; 60 /// 61 /// A Framework extension to the EFI 1.10 runtime table. 62 /// It was moved to a protocol to avoid conflict with UEFI 2.0. 63 /// 64 EFI_REPORT_STATUS_CODE ReportStatusCode; 65 } FRAMEWORK_EFI_RUNTIME_SERVICES; 66 67 /// 68 /// The Framework EFI Boot Services Table. Complies with the DxeCis specification. 69 /// 70 typedef struct { 71 /// 72 /// The table header for the EFI Boot Services Table. 73 /// 74 EFI_TABLE_HEADER Hdr; 75 76 // 77 // Task Priority Services 78 // 79 EFI_RAISE_TPL RaiseTPL; 80 EFI_RESTORE_TPL RestoreTPL; 81 82 // 83 // Memory Services 84 // 85 EFI_ALLOCATE_PAGES AllocatePages; 86 EFI_FREE_PAGES FreePages; 87 EFI_GET_MEMORY_MAP GetMemoryMap; 88 EFI_ALLOCATE_POOL AllocatePool; 89 EFI_FREE_POOL FreePool; 90 91 // 92 // Event & Timer Services 93 // 94 EFI_CREATE_EVENT CreateEvent; 95 EFI_SET_TIMER SetTimer; 96 EFI_WAIT_FOR_EVENT WaitForEvent; 97 EFI_SIGNAL_EVENT SignalEvent; 98 EFI_CLOSE_EVENT CloseEvent; 99 EFI_CHECK_EVENT CheckEvent; 100 101 // 102 // Protocol Handler Services 103 // 104 EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface; 105 EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface; 106 EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface; 107 EFI_HANDLE_PROTOCOL HandleProtocol; 108 EFI_HANDLE_PROTOCOL PcHandleProtocol; 109 EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify; 110 EFI_LOCATE_HANDLE LocateHandle; 111 EFI_LOCATE_DEVICE_PATH LocateDevicePath; 112 EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable; 113 114 // 115 // Image Services 116 // 117 EFI_IMAGE_LOAD LoadImage; 118 EFI_IMAGE_START StartImage; 119 EFI_EXIT Exit; 120 EFI_IMAGE_UNLOAD UnloadImage; 121 EFI_EXIT_BOOT_SERVICES ExitBootServices; 122 123 // 124 // Miscellaneous Services 125 // 126 EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount; 127 EFI_STALL Stall; 128 EFI_SET_WATCHDOG_TIMER SetWatchdogTimer; 129 130 // 131 // DriverSupport Services 132 // 133 EFI_CONNECT_CONTROLLER ConnectController; 134 EFI_DISCONNECT_CONTROLLER DisconnectController; 135 136 // 137 // Open and Close Protocol Services 138 // 139 EFI_OPEN_PROTOCOL OpenProtocol; 140 EFI_CLOSE_PROTOCOL CloseProtocol; 141 EFI_OPEN_PROTOCOL_INFORMATION OpenProtocolInformation; 142 143 // 144 // Library Services 145 // 146 EFI_PROTOCOLS_PER_HANDLE ProtocolsPerHandle; 147 EFI_LOCATE_HANDLE_BUFFER LocateHandleBuffer; 148 EFI_LOCATE_PROTOCOL LocateProtocol; 149 EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES InstallMultipleProtocolInterfaces; 150 EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES UninstallMultipleProtocolInterfaces; 151 152 // 153 // 32-bit CRC Services 154 // 155 EFI_CALCULATE_CRC32 CalculateCrc32; 156 157 // 158 // Miscellaneous Services 159 // 160 EFI_COPY_MEM CopyMem; 161 EFI_SET_MEM SetMem; 162 } FRAMEWORK_EFI_BOOT_SERVICES; 163 164 #define EFI_EVENT_RUNTIME_CONTEXT 0x20000000 165 #define EFI_EVENT_NOTIFY_SIGNAL_ALL 0x00000400 166 #define EFI_EVENT_SIGNAL_READY_TO_BOOT 0x00000203 167 #define EFI_EVENT_SIGNAL_LEGACY_BOOT 0x00000204 168 169 #endif 170 171