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