summaryrefslogtreecommitdiff
path: root/Core/MdePkg/Include/Uefi/UefiAcpiDataTable.h
diff options
context:
space:
mode:
Diffstat (limited to 'Core/MdePkg/Include/Uefi/UefiAcpiDataTable.h')
-rw-r--r--Core/MdePkg/Include/Uefi/UefiAcpiDataTable.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/Core/MdePkg/Include/Uefi/UefiAcpiDataTable.h b/Core/MdePkg/Include/Uefi/UefiAcpiDataTable.h
new file mode 100644
index 0000000000..30a53559fd
--- /dev/null
+++ b/Core/MdePkg/Include/Uefi/UefiAcpiDataTable.h
@@ -0,0 +1,55 @@
+/** @file
+ UEFI ACPI Data Table Definition.
+
+Copyright (c) 2011, 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 __UEFI_ACPI_DATA_TABLE_H__
+#define __UEFI_ACPI_DATA_TABLE_H__
+
+#include <IndustryStandard/Acpi.h>
+
+#pragma pack(1)
+typedef struct {
+ EFI_ACPI_DESCRIPTION_HEADER Header;
+ GUID Identifier;
+ UINT16 DataOffset;
+} EFI_ACPI_DATA_TABLE;
+
+typedef struct {
+ EFI_ACPI_DATA_TABLE UefiAcpiDataTable;
+ UINT32 SwSmiNumber;
+ UINT64 BufferPtrAddress;
+} EFI_SMM_COMMUNICATION_ACPI_TABLE;
+
+///
+/// To avoid confusion in interpreting frames, the communication buffer should always
+/// begin with EFI_SMM_COMMUNICATE_HEADER
+///
+typedef struct {
+ ///
+ /// Allows for disambiguation of the message format.
+ ///
+ EFI_GUID HeaderGuid;
+ ///
+ /// Describes the size of Data (in bytes) and does not include the size of the header.
+ ///
+ UINTN MessageLength;
+ ///
+ /// Designates an array of bytes that is MessageLength in size.
+ ///
+ UINT8 Data[1];
+} EFI_SMM_COMMUNICATE_HEADER;
+
+#pragma pack()
+
+#endif
+