diff options
Diffstat (limited to 'MdePkg/Include/Uefi/UefiAcpiDataTable.h')
-rw-r--r-- | MdePkg/Include/Uefi/UefiAcpiDataTable.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/MdePkg/Include/Uefi/UefiAcpiDataTable.h b/MdePkg/Include/Uefi/UefiAcpiDataTable.h new file mode 100644 index 000000000000..92999de11c48 --- /dev/null +++ b/MdePkg/Include/Uefi/UefiAcpiDataTable.h @@ -0,0 +1,60 @@ +/** @file + UEFI ACPI Data Table Definition. + +Copyright (c) 2011 - 2016, 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; + +typedef struct { + EFI_SMM_COMMUNICATION_ACPI_TABLE UefiSmmCommunicationAcpiTable; + EFI_ACPI_6_0_GENERIC_ADDRESS_STRUCTURE InvocationRegister; +} EFI_SMM_COMMUNICATION_ACPI_TABLE_2; + +/// +/// 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 + |