]> git.proxmox.com Git - mirror_edk2.git/blame - IntelFrameworkPkg/Include/Framework/DxeCis.h
Minor code enhancement.
[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
3 Driver Execution Environment Core Interface Specification (DXE CIS) Version 0.9.\r
79964ac8 4\r
e1d8d892 5 Copyright (c) 2007 - 2009, Intel Corporation\r
79964ac8 6 All rights reserved. This program and the accompanying materials\r
7 are licensed and made available under the terms and conditions of the BSD License\r
8 which accompanies this distribution. The full text of the license may be found at\r
9 http://opensource.org/licenses/bsd-license.php\r
10\r
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
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
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 Pointer to the procedure's argument.\r
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
36/// Framework EFI Runtime Services Table as extension to EFI 1.10 Runtime Services Table\r
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
67 /// Framework extension to EFI 1.10 runtime table\r
68 /// It was moved to a protocol to not conflict with UEFI 2.0\r
69 ///\r
9205b2d7 70 EFI_REPORT_STATUS_CODE ReportStatusCode;\r
79964ac8 71} FRAMEWORK_EFI_RUNTIME_SERVICES;\r
72\r
40038403 73///\r
74/// Framework EFI Boot Services Table which comply with DxeCis spec.\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
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