]> git.proxmox.com Git - mirror_edk2.git/blame - OvmfPkg/Csm/Include/Framework/DxeCis.h
OvmfPkg: Apply uncrustify changes
[mirror_edk2.git] / OvmfPkg / Csm / Include / Framework / DxeCis.h
CommitLineData
b522c77b
HW
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 - 2018, Intel Corporation. All rights reserved.<BR>\r
6SPDX-License-Identifier: BSD-2-Clause-Patent\r
7\r
8**/\r
9\r
10#ifndef _DXECIS_H_\r
11#define _DXECIS_H_\r
12\r
13#include <Protocol/StatusCode.h>\r
14\r
15/**\r
16 Functions of this type are used with the Framework MP Services Protocol and\r
17 the SMM Services Table to execute a procedure on enabled APs. The context\r
18 the AP should use durng execution is specified by Buffer.\r
19\r
20 @param[in] Buffer The pointer to the procedure's argument.\r
21\r
22**/\r
23typedef\r
24VOID\r
25(EFIAPI *FRAMEWORK_EFI_AP_PROCEDURE)(\r
26 IN VOID *Buffer\r
27 );\r
28\r
29///\r
30/// The Framework EFI Runtime Services Table as an extension to the EFI 1.10 Runtime Services Table.\r
31///\r
32typedef struct {\r
33 //\r
34 // Table header for the Framework EFI Runtime Services Table\r
35 //\r
ac0a286f 36 EFI_TABLE_HEADER Hdr;\r
b522c77b
HW
37 //\r
38 // Time services\r
39 //\r
ac0a286f
MK
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
b522c77b
HW
44 //\r
45 // Virtual memory services\r
46 //\r
ac0a286f
MK
47 EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap;\r
48 EFI_CONVERT_POINTER ConvertPointer;\r
b522c77b
HW
49 //\r
50 // Variable services\r
51 //\r
ac0a286f
MK
52 EFI_GET_VARIABLE GetVariable;\r
53 EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName;\r
54 EFI_SET_VARIABLE SetVariable;\r
b522c77b
HW
55 //\r
56 // Misc\r
57 //\r
ac0a286f
MK
58 EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount;\r
59 EFI_RESET_SYSTEM ResetSystem;\r
b522c77b
HW
60 ///\r
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
63 ///\r
ac0a286f 64 EFI_REPORT_STATUS_CODE ReportStatusCode;\r
b522c77b
HW
65} FRAMEWORK_EFI_RUNTIME_SERVICES;\r
66\r
67///\r
68/// The Framework EFI Boot Services Table. Complies with the DxeCis specification.\r
69///\r
70typedef struct {\r
71 ///\r
72 /// The table header for the EFI Boot Services Table.\r
73 ///\r
ac0a286f 74 EFI_TABLE_HEADER Hdr;\r
b522c77b
HW
75\r
76 //\r
77 // Task Priority Services\r
78 //\r
ac0a286f
MK
79 EFI_RAISE_TPL RaiseTPL;\r
80 EFI_RESTORE_TPL RestoreTPL;\r
b522c77b
HW
81\r
82 //\r
83 // Memory Services\r
84 //\r
ac0a286f
MK
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
b522c77b
HW
90\r
91 //\r
92 // Event & Timer Services\r
93 //\r
ac0a286f
MK
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
b522c77b
HW
100\r
101 //\r
102 // Protocol Handler Services\r
103 //\r
ac0a286f
MK
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
b522c77b
HW
113\r
114 //\r
115 // Image Services\r
116 //\r
ac0a286f
MK
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
b522c77b
HW
122\r
123 //\r
124 // Miscellaneous Services\r
125 //\r
ac0a286f
MK
126 EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount;\r
127 EFI_STALL Stall;\r
128 EFI_SET_WATCHDOG_TIMER SetWatchdogTimer;\r
b522c77b
HW
129\r
130 //\r
131 // DriverSupport Services\r
132 //\r
ac0a286f
MK
133 EFI_CONNECT_CONTROLLER ConnectController;\r
134 EFI_DISCONNECT_CONTROLLER DisconnectController;\r
b522c77b
HW
135\r
136 //\r
137 // Open and Close Protocol Services\r
138 //\r
ac0a286f
MK
139 EFI_OPEN_PROTOCOL OpenProtocol;\r
140 EFI_CLOSE_PROTOCOL CloseProtocol;\r
141 EFI_OPEN_PROTOCOL_INFORMATION OpenProtocolInformation;\r
b522c77b
HW
142\r
143 //\r
144 // Library Services\r
145 //\r
ac0a286f
MK
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
b522c77b
HW
151\r
152 //\r
153 // 32-bit CRC Services\r
154 //\r
ac0a286f 155 EFI_CALCULATE_CRC32 CalculateCrc32;\r
b522c77b
HW
156\r
157 //\r
158 // Miscellaneous Services\r
159 //\r
ac0a286f
MK
160 EFI_COPY_MEM CopyMem;\r
161 EFI_SET_MEM SetMem;\r
b522c77b
HW
162} FRAMEWORK_EFI_BOOT_SERVICES;\r
163\r
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