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