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