2 Include file for definitions in the Intel Platform Innovation Framework for EFI
3 Driver Execution Environment Core Interface Specification (DXE CIS) Version 0.9.
5 Copyright (c) 2007 - 2009, Intel Corporation
6 All rights reserved. This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. 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.
20 #include <Framework/StatusCode.h>
21 #include <Protocol/StatusCode.h>
24 // Function prototype for invoking a function on an Application Processor
25 // Used by both the SMM infrastructure and the MP Services Protocol
29 (EFIAPI
*EFI_AP_PROCEDURE
)(
34 // Framework EFI Runtime Services Table as extension to EFI 1.10 Runtime Services Table
38 // Table header for the Framework EFI Runtime Services Table
46 EFI_GET_WAKEUP_TIME GetWakeupTime
;
47 EFI_SET_WAKEUP_TIME SetWakeupTime
;
49 // Virtual memory services
51 EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap
;
52 EFI_CONVERT_POINTER ConvertPointer
;
56 EFI_GET_VARIABLE GetVariable
;
57 EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName
;
58 EFI_SET_VARIABLE SetVariable
;
62 EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount
;
63 EFI_RESET_SYSTEM ResetSystem
;
65 // Framework extension to EFI 1.10 runtime table
66 // It was moved to a protocol to not conflict with UEFI 2.0
68 EFI_REPORT_STATUS_CODE ReportStatusCode
;
69 } FRAMEWORK_EFI_RUNTIME_SERVICES
;
72 /// Framework EFI Boot Services Table which comply with DxeCis spec.
76 /// The table header for the EFI Boot Services Table.
81 // Task Priority Services
83 EFI_RAISE_TPL RaiseTPL
;
84 EFI_RESTORE_TPL RestoreTPL
;
89 EFI_ALLOCATE_PAGES AllocatePages
;
90 EFI_FREE_PAGES FreePages
;
91 EFI_GET_MEMORY_MAP GetMemoryMap
;
92 EFI_ALLOCATE_POOL AllocatePool
;
93 EFI_FREE_POOL FreePool
;
96 // Event & Timer Services
98 EFI_CREATE_EVENT CreateEvent
;
99 EFI_SET_TIMER SetTimer
;
100 EFI_WAIT_FOR_EVENT WaitForEvent
;
101 EFI_SIGNAL_EVENT SignalEvent
;
102 EFI_CLOSE_EVENT CloseEvent
;
103 EFI_CHECK_EVENT CheckEvent
;
106 // Protocol Handler Services
108 EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface
;
109 EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface
;
110 EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface
;
111 EFI_HANDLE_PROTOCOL HandleProtocol
;
112 EFI_HANDLE_PROTOCOL PcHandleProtocol
;
113 EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify
;
114 EFI_LOCATE_HANDLE LocateHandle
;
115 EFI_LOCATE_DEVICE_PATH LocateDevicePath
;
116 EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable
;
121 EFI_IMAGE_LOAD LoadImage
;
122 EFI_IMAGE_START StartImage
;
124 EFI_IMAGE_UNLOAD UnloadImage
;
125 EFI_EXIT_BOOT_SERVICES ExitBootServices
;
128 // Miscellaneous Services
130 EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount
;
132 EFI_SET_WATCHDOG_TIMER SetWatchdogTimer
;
135 // DriverSupport Services
137 EFI_CONNECT_CONTROLLER ConnectController
;
138 EFI_DISCONNECT_CONTROLLER DisconnectController
;
141 // Open and Close Protocol Services
143 EFI_OPEN_PROTOCOL OpenProtocol
;
144 EFI_CLOSE_PROTOCOL CloseProtocol
;
145 EFI_OPEN_PROTOCOL_INFORMATION OpenProtocolInformation
;
150 EFI_PROTOCOLS_PER_HANDLE ProtocolsPerHandle
;
151 EFI_LOCATE_HANDLE_BUFFER LocateHandleBuffer
;
152 EFI_LOCATE_PROTOCOL LocateProtocol
;
153 EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES InstallMultipleProtocolInterfaces
;
154 EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES UninstallMultipleProtocolInterfaces
;
157 // 32-bit CRC Services
159 EFI_CALCULATE_CRC32 CalculateCrc32
;
162 // Miscellaneous Services
164 EFI_COPY_MEM CopyMem
;
166 } FRAMEWORK_EFI_BOOT_SERVICES
;
168 #define EFI_EVENT_RUNTIME_CONTEXT 0x20000000
169 #define EFI_EVENT_NOTIFY_SIGNAL_ALL 0x00000400
170 #define EFI_EVENT_SIGNAL_READY_TO_BOOT 0x00000203
171 #define EFI_EVENT_SIGNAL_LEGACY_BOOT 0x00000204