MdePkg: Follow UEFI 2.7 spec to deprecate SMM Communication ACPI Table

Delete PiSmmCommunicationAcpiTable.h and delete SMM Communication ACPI
Table definition in UefiAcpiDataTable.h.
As EFI_SMM_COMMUNICATE_HEADER is defined in both PI spec vol 4
and UEFI spec, move its definition to SmmCommunication.h.

Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
This commit is contained in:
Star Zeng 2017-07-20 14:47:28 +08:00
parent 8b1d149390
commit b3eac2d61e
4 changed files with 25 additions and 59 deletions

View File

@ -1,20 +0,0 @@
/** @file
PI SMM Communication ACPI 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 __PI_SMM_COMMUNICATION_ACPI_TABLE__
#define __PI_SMM_COMMUNICATION_ACPI_TABLE__
#include <Uefi/UefiAcpiDataTable.h>
#endif

View File

@ -2,7 +2,7 @@
Root include file for Mde Package SMM modules.
Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2009 - 2017, 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
@ -20,7 +20,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Uefi/UefiSpec.h>
#include <Pi/PiSmmCis.h>
#include <Pi/PiSmmCommunicationAcpiTable.h>
#endif

View File

@ -4,7 +4,7 @@
This protocol provides a means of communicating between drivers outside of SMM and SMI
handlers inside of SMM.
Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2009 - 2017, 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
which accompanies this distribution. The full text of the license may be found at
@ -18,10 +18,28 @@
#ifndef _SMM_COMMUNICATION_H_
#define _SMM_COMMUNICATION_H_
//
// Need include this header file for EFI_SMM_COMMUNICATE_HEADER data structure.
//
#include <Uefi/UefiAcpiDataTable.h>
#pragma pack(1)
///
/// 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()
#define EFI_SMM_COMMUNICATION_PROTOCOL_GUID \
{ \

View File

@ -1,7 +1,7 @@
/** @file
UEFI ACPI Data Table Definition.
Copyright (c) 2011 - 2016, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2011 - 2017, 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
@ -23,37 +23,6 @@ typedef struct {
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