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