]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkPkg/Include/Framework/DxeCis.h
Update for NetworkPkg.
[mirror_edk2.git] / IntelFrameworkPkg / Include / Framework / DxeCis.h
index 87df079fea27eedf2a3f2cb55aaf0dccbc93c717..0f1b737ac18c2c9f9e09d1a7c719a6fe3b0419d1 100644 (file)
@@ -1,46 +1,44 @@
 /** @file\r
-  Include file that supportes Framework extension to the UEFI 2.0 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
-\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
-\r
-  @par Revision Reference:\r
-  This Protocol is defined in Framework for EFI Driver Execution Environment \r
-  Core Interface Specification. \r
-  Version 0.9.\r
+Copyright (c) 2007 - 2010, 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
+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
+  //\r
+  // Table header for the Framework EFI Runtime Services Table\r
+  //\r
   EFI_TABLE_HEADER                  Hdr;\r
   //\r
   // Time services\r
@@ -65,28 +63,114 @@ typedef struct {
   //\r
   EFI_GET_NEXT_HIGH_MONO_COUNT      GetNextHighMonotonicCount;\r
   EFI_RESET_SYSTEM                  ResetSystem;\r
-  //\r
-  // Framework extension to UEFI 2.0 runtime table\r
-  // It was moved to a protocol to not conflict with UEFI 2.0\r
-  //\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
-typedef struct {\r
-  EFI_DEVICE_PATH_PROTOCOL          Header;\r
-  EFI_GUID                          TianoSpecificDevicePath;\r
-  UINT32                            Type;\r
-} TIANO_DEVICE_PATH;\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
 #endif\r
+\r