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