Merge branch 'master' of https://github.com/tianocore/edk2 into MemoryAttributeTable
[mirror_edk2.git] / MdePkg / Include / Uefi / UefiAcpiDataTable.h
CommitLineData
2094c4d0 1/** @file\r
2 UEFI ACPI Data Table Definition.\r
3\r
4Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>\r
5This program and the accompanying materials are licensed and made available under \r
6the terms and conditions of the BSD License that accompanies this distribution. \r
7The full text of the license may be found at\r
8http://opensource.org/licenses/bsd-license.php. \r
9 \r
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12\r
13**/\r
14\r
15#ifndef __UEFI_ACPI_DATA_TABLE_H__\r
16#define __UEFI_ACPI_DATA_TABLE_H__\r
17\r
18#include <IndustryStandard/Acpi.h>\r
19\r
20#pragma pack(1)\r
21typedef struct {\r
22 EFI_ACPI_DESCRIPTION_HEADER Header;\r
23 GUID Identifier;\r
24 UINT16 DataOffset;\r
25} EFI_ACPI_DATA_TABLE;\r
96aace82
JY
26\r
27typedef struct {\r
28 EFI_ACPI_DATA_TABLE UefiAcpiDataTable;\r
29 UINT32 SwSmiNumber;\r
30 UINT64 BufferPtrAddress;\r
31} EFI_SMM_COMMUNICATION_ACPI_TABLE;\r
32\r
33///\r
34/// To avoid confusion in interpreting frames, the communication buffer should always \r
35/// begin with EFI_SMM_COMMUNICATE_HEADER\r
36///\r
37typedef struct {\r
38 ///\r
39 /// Allows for disambiguation of the message format.\r
40 ///\r
41 EFI_GUID HeaderGuid;\r
42 ///\r
43 /// Describes the size of Data (in bytes) and does not include the size of the header.\r
44 ///\r
45 UINTN MessageLength;\r
46 ///\r
47 /// Designates an array of bytes that is MessageLength in size.\r
48 ///\r
49 UINT8 Data[1];\r
50} EFI_SMM_COMMUNICATE_HEADER;\r
51\r
2094c4d0 52#pragma pack()\r
53\r
54#endif\r
55\r