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.
5 Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>
6 This program and the accompanying materials are licensed and made available under
7 the terms and conditions of the BSD License that accompanies this distribution.
8 The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php.
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
19 #include <Protocol/StatusCode.h>
22 Functions of this type are used with the Framework MP Services Protocol and
23 the SMM Services Table to execute a procedure on enabled APs. The context
24 the AP should use durng execution is specified by Buffer.
26 @param[in] Buffer The pointer to the procedure's argument.
31 (EFIAPI
*FRAMEWORK_EFI_AP_PROCEDURE
)(
36 /// The Framework EFI Runtime Services Table as an extension to the EFI 1.10 Runtime Services Table.
40 // Table header for the Framework EFI Runtime Services Table
48 EFI_GET_WAKEUP_TIME GetWakeupTime
;
49 EFI_SET_WAKEUP_TIME SetWakeupTime
;
51 // Virtual memory services
53 EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap
;
54 EFI_CONVERT_POINTER ConvertPointer
;
58 EFI_GET_VARIABLE GetVariable
;
59 EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName
;
60 EFI_SET_VARIABLE SetVariable
;
64 EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount
;
65 EFI_RESET_SYSTEM ResetSystem
;
67 /// A Framework extension to the EFI 1.10 runtime table.
68 /// It was moved to a protocol to avoid conflict with UEFI 2.0.
70 EFI_REPORT_STATUS_CODE ReportStatusCode
;
71 } FRAMEWORK_EFI_RUNTIME_SERVICES
;
74 /// The Framework EFI Boot Services Table. Complies with the DxeCis specification.
78 /// The table header for the EFI Boot Services Table.
83 // Task Priority Services
85 EFI_RAISE_TPL RaiseTPL
;
86 EFI_RESTORE_TPL RestoreTPL
;
91 EFI_ALLOCATE_PAGES AllocatePages
;
92 EFI_FREE_PAGES FreePages
;
93 EFI_GET_MEMORY_MAP GetMemoryMap
;
94 EFI_ALLOCATE_POOL AllocatePool
;
95 EFI_FREE_POOL FreePool
;
98 // Event & Timer Services
100 EFI_CREATE_EVENT CreateEvent
;
101 EFI_SET_TIMER SetTimer
;
102 EFI_WAIT_FOR_EVENT WaitForEvent
;
103 EFI_SIGNAL_EVENT SignalEvent
;
104 EFI_CLOSE_EVENT CloseEvent
;
105 EFI_CHECK_EVENT CheckEvent
;
108 // Protocol Handler Services
110 EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface
;
111 EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface
;
112 EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface
;
113 EFI_HANDLE_PROTOCOL HandleProtocol
;
114 EFI_HANDLE_PROTOCOL PcHandleProtocol
;
115 EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify
;
116 EFI_LOCATE_HANDLE LocateHandle
;
117 EFI_LOCATE_DEVICE_PATH LocateDevicePath
;
118 EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable
;
123 EFI_IMAGE_LOAD LoadImage
;
124 EFI_IMAGE_START StartImage
;
126 EFI_IMAGE_UNLOAD UnloadImage
;
127 EFI_EXIT_BOOT_SERVICES ExitBootServices
;
130 // Miscellaneous Services
132 EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount
;
134 EFI_SET_WATCHDOG_TIMER SetWatchdogTimer
;
137 // DriverSupport Services
139 EFI_CONNECT_CONTROLLER ConnectController
;
140 EFI_DISCONNECT_CONTROLLER DisconnectController
;
143 // Open and Close Protocol Services
145 EFI_OPEN_PROTOCOL OpenProtocol
;
146 EFI_CLOSE_PROTOCOL CloseProtocol
;
147 EFI_OPEN_PROTOCOL_INFORMATION OpenProtocolInformation
;
152 EFI_PROTOCOLS_PER_HANDLE ProtocolsPerHandle
;
153 EFI_LOCATE_HANDLE_BUFFER LocateHandleBuffer
;
154 EFI_LOCATE_PROTOCOL LocateProtocol
;
155 EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES InstallMultipleProtocolInterfaces
;
156 EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES UninstallMultipleProtocolInterfaces
;
159 // 32-bit CRC Services
161 EFI_CALCULATE_CRC32 CalculateCrc32
;
164 // Miscellaneous Services
166 EFI_COPY_MEM CopyMem
;
168 } FRAMEWORK_EFI_BOOT_SERVICES
;
170 #define EFI_EVENT_RUNTIME_CONTEXT 0x20000000
171 #define EFI_EVENT_NOTIFY_SIGNAL_ALL 0x00000400
172 #define EFI_EVENT_SIGNAL_READY_TO_BOOT 0x00000203
173 #define EFI_EVENT_SIGNAL_LEGACY_BOOT 0x00000204