--- /dev/null
+/** @file\r
+ Include file for definitions in the Intel Platform Innovation Framework for EFI\r
+ Driver Execution Environment Core Interface Specification (DXE CIS) Version 0.91.\r
+\r
+Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
+\r
+**/\r
+\r
+#ifndef _DXECIS_H_\r
+#define _DXECIS_H_\r
+\r
+#include <Protocol/StatusCode.h>\r
+\r
+/**\r
+ Functions of this type are used with the Framework MP Services Protocol and\r
+ the SMM Services Table to execute a procedure on enabled APs. The context\r
+ the AP should use durng execution is specified by Buffer.\r
+\r
+ @param[in] Buffer The pointer to the procedure's argument.\r
+\r
+**/\r
+typedef\r
+VOID\r
+(EFIAPI *FRAMEWORK_EFI_AP_PROCEDURE)(\r
+ IN VOID *Buffer\r
+ );\r
+\r
+///\r
+/// The Framework EFI Runtime Services Table as an extension to the EFI 1.10 Runtime Services Table.\r
+///\r
+typedef struct {\r
+ //\r
+ // Table header for the Framework EFI Runtime Services Table\r
+ //\r
+ EFI_TABLE_HEADER Hdr;\r
+ //\r
+ // Time services\r
+ //\r
+ EFI_GET_TIME GetTime;\r
+ EFI_SET_TIME SetTime;\r
+ EFI_GET_WAKEUP_TIME GetWakeupTime;\r
+ EFI_SET_WAKEUP_TIME SetWakeupTime;\r
+ //\r
+ // Virtual memory services\r
+ //\r
+ EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap;\r
+ EFI_CONVERT_POINTER ConvertPointer;\r
+ //\r
+ // Variable services\r
+ //\r
+ EFI_GET_VARIABLE GetVariable;\r
+ EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName;\r
+ EFI_SET_VARIABLE SetVariable;\r
+ //\r
+ // Misc\r
+ //\r
+ EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount;\r
+ EFI_RESET_SYSTEM ResetSystem;\r
+ ///\r
+ /// A Framework extension to the EFI 1.10 runtime table.\r
+ /// It was moved to a protocol to avoid conflict with UEFI 2.0.\r
+ ///\r
+ EFI_REPORT_STATUS_CODE ReportStatusCode;\r
+} FRAMEWORK_EFI_RUNTIME_SERVICES;\r
+\r
+///\r
+/// The Framework EFI Boot Services Table. Complies with the DxeCis specification.\r
+///\r
+typedef struct {\r
+ ///\r
+ /// The table header for the EFI Boot Services Table.\r
+ ///\r
+ EFI_TABLE_HEADER Hdr;\r
+\r
+ //\r
+ // Task Priority Services\r
+ //\r
+ EFI_RAISE_TPL RaiseTPL;\r
+ EFI_RESTORE_TPL RestoreTPL;\r
+\r
+ //\r
+ // Memory Services\r
+ //\r
+ EFI_ALLOCATE_PAGES AllocatePages;\r
+ EFI_FREE_PAGES FreePages;\r
+ EFI_GET_MEMORY_MAP GetMemoryMap;\r
+ EFI_ALLOCATE_POOL AllocatePool;\r
+ EFI_FREE_POOL FreePool;\r
+\r
+ //\r
+ // Event & Timer Services\r
+ //\r
+ EFI_CREATE_EVENT CreateEvent;\r
+ EFI_SET_TIMER SetTimer;\r
+ EFI_WAIT_FOR_EVENT WaitForEvent;\r
+ EFI_SIGNAL_EVENT SignalEvent;\r
+ EFI_CLOSE_EVENT CloseEvent;\r
+ EFI_CHECK_EVENT CheckEvent;\r
+\r
+ //\r
+ // Protocol Handler Services\r
+ //\r
+ EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface;\r
+ EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface;\r
+ EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface;\r
+ EFI_HANDLE_PROTOCOL HandleProtocol;\r
+ EFI_HANDLE_PROTOCOL PcHandleProtocol;\r
+ EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify;\r
+ EFI_LOCATE_HANDLE LocateHandle;\r
+ EFI_LOCATE_DEVICE_PATH LocateDevicePath;\r
+ EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable;\r
+\r
+ //\r
+ // Image Services\r
+ //\r
+ EFI_IMAGE_LOAD LoadImage;\r
+ EFI_IMAGE_START StartImage;\r
+ EFI_EXIT Exit;\r
+ EFI_IMAGE_UNLOAD UnloadImage;\r
+ EFI_EXIT_BOOT_SERVICES ExitBootServices;\r
+\r
+ //\r
+ // Miscellaneous Services\r
+ //\r
+ EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount;\r
+ EFI_STALL Stall;\r
+ EFI_SET_WATCHDOG_TIMER SetWatchdogTimer;\r
+\r
+ //\r
+ // DriverSupport Services\r
+ //\r
+ EFI_CONNECT_CONTROLLER ConnectController;\r
+ EFI_DISCONNECT_CONTROLLER DisconnectController;\r
+\r
+ //\r
+ // Open and Close Protocol Services\r
+ //\r
+ EFI_OPEN_PROTOCOL OpenProtocol;\r
+ EFI_CLOSE_PROTOCOL CloseProtocol;\r
+ EFI_OPEN_PROTOCOL_INFORMATION OpenProtocolInformation;\r
+\r
+ //\r
+ // Library Services\r
+ //\r
+ EFI_PROTOCOLS_PER_HANDLE ProtocolsPerHandle;\r
+ EFI_LOCATE_HANDLE_BUFFER LocateHandleBuffer;\r
+ EFI_LOCATE_PROTOCOL LocateProtocol;\r
+ EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES InstallMultipleProtocolInterfaces;\r
+ EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES UninstallMultipleProtocolInterfaces;\r
+\r
+ //\r
+ // 32-bit CRC Services\r
+ //\r
+ EFI_CALCULATE_CRC32 CalculateCrc32;\r
+\r
+ //\r
+ // Miscellaneous Services\r
+ //\r
+ EFI_COPY_MEM CopyMem;\r
+ EFI_SET_MEM SetMem;\r
+} FRAMEWORK_EFI_BOOT_SERVICES;\r
+\r
+#define EFI_EVENT_RUNTIME_CONTEXT 0x20000000\r
+#define EFI_EVENT_NOTIFY_SIGNAL_ALL 0x00000400\r
+#define EFI_EVENT_SIGNAL_READY_TO_BOOT 0x00000203\r
+#define EFI_EVENT_SIGNAL_LEGACY_BOOT 0x00000204\r
+\r
+#endif\r
+\r