]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkPkg/Include/Framework/DxeCis.h
IntelFrameworkPkg: Clean up source files
[mirror_edk2.git] / IntelFrameworkPkg / Include / Framework / DxeCis.h
index 9c5a28ea51247048bf98352d073e5daa155c63ab..8cb905e3a3a27b7c01548915114b438fd2c031d8 100644 (file)
 /** @file\r
-  Include file that supportes Framework extension to the EFI 1.10 spec.\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
-  This include file must only contain things defined in the Framework\r
-  specifications. If a code construct is defined in the Framework specification\r
-  it must be included by this include file.\r
+Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials are licensed and made available under\r
+the terms and conditions of the BSD License that accompanies this distribution.\r
+The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php.\r
 \r
-  Copyright (c) 2007, Intel Corporation\r
-  All rights reserved. This program and the accompanying materials\r
-  are licensed and made available under the terms and conditions of the BSD License\r
-  which accompanies this distribution.  The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-\r
-  Module Name:    FrameworkDxeCis.h\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
 **/\r
 \r
-#ifndef _FRAMEWORK_DXE_CIS_H_\r
-#define _FRAMEWORK_DXE_CIS_H_\r
+#ifndef _DXECIS_H_\r
+#define _DXECIS_H_\r
 \r
-#include <PiDxe.h>\r
-#include <Framework/StatusCode.h>\r
 #include <Protocol/StatusCode.h>\r
 \r
-//\r
-// Function prototype for invoking a function on an Application Processor\r
-// Used by both the SMM infrastructure and the MP Services Protocol\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 *EFI_AP_PROCEDURE) (\r
-  IN  VOID                              *Buffer\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
-  EFI_TABLE_HEADER              Hdr;\r
-\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
+  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
+  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
+  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
+  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
-  // Framework extension to EFI 1.10 runtime table\r
-  // It was moved to a protocol to not conflict with UEFI 2.0\r
+  // Task Priority Services\r
   //\r
-  EFI_REPORT_STATUS_CODE        ReportStatusCode;\r
-} FRAMEWORK_EFI_RUNTIME_SERVICES;\r
+  EFI_RAISE_TPL                   RaiseTPL;\r
+  EFI_RESTORE_TPL                 RestoreTPL;\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
+  // 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
-typedef struct {\r
-  EFI_DEVICE_PATH_PROTOCOL  Header;\r
-  EFI_GUID                  TianoSpecificDevicePath;\r
-  UINT32                    Type;\r
-} TIANO_DEVICE_PATH;\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
-#define TIANO_MEDIA_FW_VOL_FILEPATH_DEVICE_PATH_TYPE         0x01\r
-typedef struct {\r
-  TIANO_DEVICE_PATH     Tiano;\r
-  EFI_GUID              NameGuid;\r
-} FRAMEWORK_MEDIA_FW_VOL_FILEPATH_DEVICE_PATH;\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