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.
19 #include <Protocol/StatusCode.h>
22 // Function prototype for invoking a function on an Application Processor
23 // Used by both the SMM infrastructure and the MP Services Protocol
27 (EFIAPI
*EFI_AP_PROCEDURE
)(
32 // Framework EFI Runtime Services Table as extension to EFI 1.10 Runtime Services Table
36 // Table header for the Framework EFI Runtime Services Table
44 EFI_GET_WAKEUP_TIME GetWakeupTime
;
45 EFI_SET_WAKEUP_TIME SetWakeupTime
;
47 // Virtual memory services
49 EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap
;
50 EFI_CONVERT_POINTER ConvertPointer
;
54 EFI_GET_VARIABLE GetVariable
;
55 EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName
;
56 EFI_SET_VARIABLE SetVariable
;
60 EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount
;
61 EFI_RESET_SYSTEM ResetSystem
;
63 // Framework extension to EFI 1.10 runtime table
64 // It was moved to a protocol to not conflict with UEFI 2.0
66 EFI_REPORT_STATUS_CODE ReportStatusCode
;
67 } FRAMEWORK_EFI_RUNTIME_SERVICES
;
70 /// Framework EFI Boot Services Table which comply with DxeCis spec.
74 /// The table header for the EFI Boot Services Table.
79 // Task Priority Services
81 EFI_RAISE_TPL RaiseTPL
;
82 EFI_RESTORE_TPL RestoreTPL
;
87 EFI_ALLOCATE_PAGES AllocatePages
;
88 EFI_FREE_PAGES FreePages
;
89 EFI_GET_MEMORY_MAP GetMemoryMap
;
90 EFI_ALLOCATE_POOL AllocatePool
;
91 EFI_FREE_POOL FreePool
;
94 // Event & Timer Services
96 EFI_CREATE_EVENT CreateEvent
;
97 EFI_SET_TIMER SetTimer
;
98 EFI_WAIT_FOR_EVENT WaitForEvent
;
99 EFI_SIGNAL_EVENT SignalEvent
;
100 EFI_CLOSE_EVENT CloseEvent
;
101 EFI_CHECK_EVENT CheckEvent
;
104 // Protocol Handler Services
106 EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface
;
107 EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface
;
108 EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface
;
109 EFI_HANDLE_PROTOCOL HandleProtocol
;
110 EFI_HANDLE_PROTOCOL PcHandleProtocol
;
111 EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify
;
112 EFI_LOCATE_HANDLE LocateHandle
;
113 EFI_LOCATE_DEVICE_PATH LocateDevicePath
;
114 EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable
;
119 EFI_IMAGE_LOAD LoadImage
;
120 EFI_IMAGE_START StartImage
;
122 EFI_IMAGE_UNLOAD UnloadImage
;
123 EFI_EXIT_BOOT_SERVICES ExitBootServices
;
126 // Miscellaneous Services
128 EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount
;
130 EFI_SET_WATCHDOG_TIMER SetWatchdogTimer
;
133 // DriverSupport Services
135 EFI_CONNECT_CONTROLLER ConnectController
;
136 EFI_DISCONNECT_CONTROLLER DisconnectController
;
139 // Open and Close Protocol Services
141 EFI_OPEN_PROTOCOL OpenProtocol
;
142 EFI_CLOSE_PROTOCOL CloseProtocol
;
143 EFI_OPEN_PROTOCOL_INFORMATION OpenProtocolInformation
;
148 EFI_PROTOCOLS_PER_HANDLE ProtocolsPerHandle
;
149 EFI_LOCATE_HANDLE_BUFFER LocateHandleBuffer
;
150 EFI_LOCATE_PROTOCOL LocateProtocol
;
151 EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES InstallMultipleProtocolInterfaces
;
152 EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES UninstallMultipleProtocolInterfaces
;
155 // 32-bit CRC Services
157 EFI_CALCULATE_CRC32 CalculateCrc32
;
160 // Miscellaneous Services
162 EFI_COPY_MEM CopyMem
;
164 } FRAMEWORK_EFI_BOOT_SERVICES
;
166 #define EFI_EVENT_RUNTIME_CONTEXT 0x20000000
167 #define EFI_EVENT_NOTIFY_SIGNAL_ALL 0x00000400
168 #define EFI_EVENT_SIGNAL_READY_TO_BOOT 0x00000203
169 #define EFI_EVENT_SIGNAL_LEGACY_BOOT 0x00000204