]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Pi/PiSmmCis.h
Rename PI SMM definitions which has same name with those of Framework SMM spec but...
[mirror_edk2.git] / MdePkg / Include / Pi / PiSmmCis.h
index dc71f639befa2bb55d7b510c7fd80654717f4800..77556be0fe347c9eec88ddc5cde8adfbdff5a3e3 100644 (file)
 #include <Pi/PiMultiPhase.h>\r
 #include <Protocol/SmmCpuIo.h>\r
 \r
-typedef struct _EFI_SMM_SYSTEM_TABLE  EFI_SMM_SYSTEM_TABLE;\r
+///\r
+/// Note:\r
+///   To avoid name conflict between PI and Framework SMM spec, the following names defined\r
+///   in PI 1.2 SMM spec are renamed. These renamings are not yet in a public PI spec and errta.\r
+///\r
+///   EFI_SMM_SYSTEM_TABLE                -> EFI_SMM_SYSTEM_TABLE2\r
+///   EFI_SMM_SYSTEM_TABLE_REVISION       -> EFI_SMM_SYSTEM_TABLE2_REVISION\r
+///   EFI_SMM_INSTALL_CONFIGURATION_TABLE -> EFI_SMM_INSTALL_CONFIGURATION_TABLE2\r
+///\r
+\r
+typedef struct _EFI_SMM_SYSTEM_TABLE2  EFI_SMM_SYSTEM_TABLE2;\r
 \r
 ///\r
 /// The System Management System Table (SMST) signature\r
@@ -28,7 +38,7 @@ typedef struct _EFI_SMM_SYSTEM_TABLE  EFI_SMM_SYSTEM_TABLE;
 ///\r
 /// The System Management System Table (SMST) revision is 1.0\r
 ///\r
-#define EFI_SMM_SYSTEM_TABLE_REVISION ((1 << 16) | (0x00))\r
+#define EFI_SMM_SYSTEM_TABLE2_REVISION ((1 << 16) | (0x00))\r
 \r
 /**\r
   Adds, updates, or removes a configuration table entry from the System Management System Table.\r
@@ -50,11 +60,11 @@ typedef struct _EFI_SMM_SYSTEM_TABLE  EFI_SMM_SYSTEM_TABLE;
 **/\r
 typedef\r
 EFI_STATUS\r
-(EFIAPI *EFI_SMM_INSTALL_CONFIGURATION_TABLE)(\r
-  IN CONST EFI_SMM_SYSTEM_TABLE  *SystemTable,\r
-  IN CONST EFI_GUID              *Guid,\r
-  IN VOID                        *Table,\r
-  IN UINTN                       TableSize\r
+(EFIAPI *EFI_SMM_INSTALL_CONFIGURATION_TABLE2)(\r
+  IN CONST EFI_SMM_SYSTEM_TABLE2  *SystemTable,\r
+  IN CONST EFI_GUID               *Guid,\r
+  IN VOID                         *Table,\r
+  IN UINTN                        TableSize\r
   );\r
 \r
 /**\r
@@ -261,40 +271,40 @@ VOID
 /// services for managing SMRAM allocation and providing basic I/O services. These services are \r
 /// intended for both preboot and runtime usage.\r
 ///\r
-struct _EFI_SMM_SYSTEM_TABLE {\r
+struct _EFI_SMM_SYSTEM_TABLE2 {\r
   ///\r
   /// The table header for the SMST.\r
   ///\r
-  EFI_TABLE_HEADER                    Hdr;\r
+  EFI_TABLE_HEADER                     Hdr;\r
   ///\r
   /// A pointer to a NULL-terminated Unicode string containing the vendor name.\r
   /// It is permissible for this pointer to be NULL.\r
   ///\r
-  CHAR16                              *SmmFirmwareVendor;\r
+  CHAR16                               *SmmFirmwareVendor;\r
   ///\r
   /// The particular revision of the firmware.\r
   ///\r
-  UINT32                              SmmFirmwareRevision;\r
+  UINT32                               SmmFirmwareRevision;\r
 \r
-  EFI_SMM_INSTALL_CONFIGURATION_TABLE SmmInstallConfigurationTable;\r
+  EFI_SMM_INSTALL_CONFIGURATION_TABLE2 SmmInstallConfigurationTable;\r
 \r
   ///\r
   /// I/O Service\r
   ///\r
-  EFI_SMM_CPU_IO_PROTOCOL             SmmIo;\r
+  EFI_SMM_CPU_IO_PROTOCOL              SmmIo;\r
 \r
   ///\r
   /// Runtime memory services\r
   ///\r
-  EFI_ALLOCATE_POOL                   SmmAllocatePool;\r
-  EFI_FREE_POOL                       SmmFreePool;\r
-  EFI_ALLOCATE_PAGES                  SmmAllocatePages;\r
-  EFI_FREE_PAGES                      SmmFreePages;\r
+  EFI_ALLOCATE_POOL                    SmmAllocatePool;\r
+  EFI_FREE_POOL                        SmmFreePool;\r
+  EFI_ALLOCATE_PAGES                   SmmAllocatePages;\r
+  EFI_FREE_PAGES                       SmmFreePages;\r
 \r
   ///\r
   /// MP service\r
   ///\r
-  EFI_SMM_STARTUP_THIS_AP             SmmStartupThisAp;\r
+  EFI_SMM_STARTUP_THIS_AP              SmmStartupThisAp;\r
 \r
   ///\r
   /// CPU information records\r
@@ -304,23 +314,23 @@ struct _EFI_SMM_SYSTEM_TABLE {
   /// A number between zero and and the NumberOfCpus field. This field designates \r
   /// which processor is executing the SMM infrastructure.\r
   ///\r
-  UINTN                               CurrentlyExecutingCpu;\r
+  UINTN                                CurrentlyExecutingCpu;\r
   ///\r
   /// The number of current operational processors in the platform.  This is a 1 based counter.\r
   ///\r
-  UINTN                               NumberOfCpus;\r
+  UINTN                                NumberOfCpus;\r
   ///\r
   /// Points to an array, where each element describes the number of bytes in the \r
   /// corresponding save state specified by CpuSaveState. There are always \r
   /// NumberOfCpus entries in the array. \r
   ///\r
-  UINTN                               *CpuSaveStateSize;\r
+  UINTN                                *CpuSaveStateSize;\r
   ///\r
   /// Points to an array, where each element is a pointer to a CPU save state. The \r
   /// corresponding element in CpuSaveStateSize specifies the number of bytes in the \r
   /// save state area. There are always NumberOfCpus entries in the array.\r
   ///\r
-  VOID                                **CpuSaveState;\r
+  VOID                                 **CpuSaveState;\r
 \r
   ///\r
   /// Extensibility table\r
@@ -329,29 +339,29 @@ struct _EFI_SMM_SYSTEM_TABLE {
   ///\r
   /// The number of UEFI Configuration Tables in the buffer SmmConfigurationTable.\r
   ///\r
-  UINTN                               NumberOfTableEntries;\r
+  UINTN                                NumberOfTableEntries;\r
   ///\r
   /// A pointer to the UEFI Configuration Tables. The number of entries in the table is \r
   /// NumberOfTableEntries. \r
   ///\r
-  EFI_CONFIGURATION_TABLE             *SmmConfigurationTable;\r
+  EFI_CONFIGURATION_TABLE              *SmmConfigurationTable;\r
 \r
   ///\r
   /// Protocol services\r
   ///\r
-  EFI_INSTALL_PROTOCOL_INTERFACE      SmmInstallProtocolInterface;\r
-  EFI_UNINSTALL_PROTOCOL_INTERFACE    SmmUninstallProtocolInterface;\r
-  EFI_HANDLE_PROTOCOL                 SmmHandleProtocol;\r
-  EFI_SMM_REGISTER_PROTOCOL_NOTIFY    SmmRegisterProtocolNotify;\r
-  EFI_LOCATE_HANDLE                   SmmLocateHandle;\r
-  EFI_LOCATE_PROTOCOL                 SmmLocateProtocol;\r
+  EFI_INSTALL_PROTOCOL_INTERFACE       SmmInstallProtocolInterface;\r
+  EFI_UNINSTALL_PROTOCOL_INTERFACE     SmmUninstallProtocolInterface;\r
+  EFI_HANDLE_PROTOCOL                  SmmHandleProtocol;\r
+  EFI_SMM_REGISTER_PROTOCOL_NOTIFY     SmmRegisterProtocolNotify;\r
+  EFI_LOCATE_HANDLE                    SmmLocateHandle;\r
+  EFI_LOCATE_PROTOCOL                  SmmLocateProtocol;\r
 \r
   ///\r
   /// SMI Management functions\r
   ///\r
-  EFI_SMM_INTERRUPT_MANAGE            SmiManage;\r
-  EFI_SMM_INTERRUPT_REGISTER          SmiHandlerRegister;\r
-  EFI_SMM_INTERRUPT_UNREGISTER        SmiHandlerUnRegister;\r
+  EFI_SMM_INTERRUPT_MANAGE             SmiManage;\r
+  EFI_SMM_INTERRUPT_REGISTER           SmiHandlerRegister;\r
+  EFI_SMM_INTERRUPT_UNREGISTER         SmiHandlerUnRegister;\r
 };\r
 \r
 #endif\r