]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Uefi/UefiAcpiDataTable.h
UEFI231 spec compliance:
[mirror_edk2.git] / MdePkg / Include / Uefi / UefiAcpiDataTable.h
index d0245fca877094d95982e750a223d2205dc8f767..30a53559fd338c72a9ef2ef743d5ae90862758b7 100644 (file)
@@ -23,6 +23,32 @@ typedef struct {
   GUID                          Identifier;\r
   UINT16                        DataOffset;\r
 } EFI_ACPI_DATA_TABLE;\r
+\r
+typedef struct {\r
+  EFI_ACPI_DATA_TABLE  UefiAcpiDataTable;\r
+  UINT32               SwSmiNumber;\r
+  UINT64               BufferPtrAddress;\r
+} EFI_SMM_COMMUNICATION_ACPI_TABLE;\r
+\r
+///\r
+/// To avoid confusion in interpreting frames, the communication buffer should always \r
+/// begin with EFI_SMM_COMMUNICATE_HEADER\r
+///\r
+typedef struct {\r
+  ///\r
+  /// Allows for disambiguation of the message format.\r
+  ///\r
+  EFI_GUID  HeaderGuid;\r
+  ///\r
+  /// Describes the size of Data (in bytes) and does not include the size of the header.\r
+  ///\r
+  UINTN     MessageLength;\r
+  ///\r
+  /// Designates an array of bytes that is MessageLength in size.\r
+  ///\r
+  UINT8     Data[1];\r
+} EFI_SMM_COMMUNICATE_HEADER;\r
+\r
 #pragma pack()\r
 \r
 #endif\r