]> git.proxmox.com Git - mirror_edk2.git/blame_incremental - IntelFrameworkPkg/Include/Framework/DxeCis.h
Grammatical and disclaimer changes (does not follow internal C coding stds.)
[mirror_edk2.git] / IntelFrameworkPkg / Include / Framework / DxeCis.h
... / ...
CommitLineData
1/** @file\r
2 Include file for definitions in the Intel Platform Innovation Framework for EFI\r
3 Driver Execution Environment Core Interface Specification (DXE CIS) Version 0.91.\r
4\r
5Copyright (c) 2007 - 2010, 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
8The full text of the license may be found at\r
9http://opensource.org/licenses/bsd-license.php. \r
10 \r
11THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
12WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
13\r
14**/\r
15\r
16#ifndef _DXECIS_H_\r
17#define _DXECIS_H_\r
18\r
19#include <Protocol/StatusCode.h>\r
20\r
21/**\r
22 Functions of this type are used with the Framework MP Services Protocol and\r
23 the SMM Services Table to execute a procedure on enabled APs. The context \r
24 the AP should use durng execution is specified by Buffer.\r
25 \r
26 @param[in] Buffer The pointer to the procedure's argument.\r
27\r
28**/\r
29typedef\r
30VOID\r
31(EFIAPI *FRAMEWORK_EFI_AP_PROCEDURE)(\r
32 IN VOID *Buffer\r
33 );\r
34\r
35///\r
36/// The Framework EFI Runtime Services Table as an extension to the EFI 1.10 Runtime Services Table.\r
37///\r
38typedef struct {\r
39 //\r
40 // Table header for the Framework EFI Runtime Services Table\r
41 //\r
42 EFI_TABLE_HEADER Hdr;\r
43 //\r
44 // Time services\r
45 //\r
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
50 //\r
51 // Virtual memory services\r
52 //\r
53 EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap;\r
54 EFI_CONVERT_POINTER ConvertPointer;\r
55 //\r
56 // Variable services\r
57 //\r
58 EFI_GET_VARIABLE GetVariable;\r
59 EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName;\r
60 EFI_SET_VARIABLE SetVariable;\r
61 //\r
62 // Misc\r
63 //\r
64 EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount;\r
65 EFI_RESET_SYSTEM ResetSystem;\r
66 ///\r
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
69 ///\r
70 EFI_REPORT_STATUS_CODE ReportStatusCode;\r
71} FRAMEWORK_EFI_RUNTIME_SERVICES;\r
72\r
73///\r
74/// The Framework EFI Boot Services Table. Complies with the DxeCis specification.\r
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
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
176\r