[edk2] [PATCH 2/3] MdePkg: Follow UEFI 2.7 spec to deprecate SMM Communication ACPI Table

Star Zeng posted 3 patches 7 years, 5 months ago
[edk2] [PATCH 2/3] MdePkg: Follow UEFI 2.7 spec to deprecate SMM Communication ACPI Table
Posted by Star Zeng 7 years, 5 months ago
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>
---
 MdePkg/Include/Pi/PiSmmCommunicationAcpiTable.h | 20 ---------------
 MdePkg/Include/PiSmm.h                          |  3 +--
 MdePkg/Include/Protocol/SmmCommunication.h      | 28 +++++++++++++++++----
 MdePkg/Include/Uefi/UefiAcpiDataTable.h         | 33 +------------------------
 4 files changed, 25 insertions(+), 59 deletions(-)
 delete mode 100644 MdePkg/Include/Pi/PiSmmCommunicationAcpiTable.h

diff --git a/MdePkg/Include/Pi/PiSmmCommunicationAcpiTable.h b/MdePkg/Include/Pi/PiSmmCommunicationAcpiTable.h
deleted file mode 100644
index 979aa9b316ec..000000000000
--- a/MdePkg/Include/Pi/PiSmmCommunicationAcpiTable.h
+++ /dev/null
@@ -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
diff --git a/MdePkg/Include/PiSmm.h b/MdePkg/Include/PiSmm.h
index 535080037b8d..e94a5d21b8bf 100644
--- a/MdePkg/Include/PiSmm.h
+++ b/MdePkg/Include/PiSmm.h
@@ -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
 
diff --git a/MdePkg/Include/Protocol/SmmCommunication.h b/MdePkg/Include/Protocol/SmmCommunication.h
index c284e55b24a8..5587d49ceda3 100644
--- a/MdePkg/Include/Protocol/SmmCommunication.h
+++ b/MdePkg/Include/Protocol/SmmCommunication.h
@@ -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 \
   { \
diff --git a/MdePkg/Include/Uefi/UefiAcpiDataTable.h b/MdePkg/Include/Uefi/UefiAcpiDataTable.h
index 957721fa7cec..ae4942b69b47 100644
--- a/MdePkg/Include/Uefi/UefiAcpiDataTable.h
+++ b/MdePkg/Include/Uefi/UefiAcpiDataTable.h
@@ -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
-- 
2.7.0.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH 2/3] MdePkg: Follow UEFI 2.7 spec to deprecate SMM Communication ACPI Table
Posted by Yao, Jiewen 7 years, 5 months ago
Reviewed-by: Jiewen.yao@intel.com

> -----Original Message-----
> From: Zeng, Star
> Sent: Thursday, July 20, 2017 9:56 PM
> To: edk2-devel@lists.01.org
> Cc: Zeng, Star <star.zeng@intel.com>; Yao, Jiewen <jiewen.yao@intel.com>; Gao,
> Liming <liming.gao@intel.com>
> Subject: [PATCH 2/3] 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>
> ---
>  MdePkg/Include/Pi/PiSmmCommunicationAcpiTable.h | 20 ---------------
>  MdePkg/Include/PiSmm.h                          |  3 +--
>  MdePkg/Include/Protocol/SmmCommunication.h      | 28
> +++++++++++++++++----
>  MdePkg/Include/Uefi/UefiAcpiDataTable.h         | 33 +------------------------
>  4 files changed, 25 insertions(+), 59 deletions(-)
>  delete mode 100644 MdePkg/Include/Pi/PiSmmCommunicationAcpiTable.h
> 
> diff --git a/MdePkg/Include/Pi/PiSmmCommunicationAcpiTable.h
> b/MdePkg/Include/Pi/PiSmmCommunicationAcpiTable.h
> deleted file mode 100644
> index 979aa9b316ec..000000000000
> --- a/MdePkg/Include/Pi/PiSmmCommunicationAcpiTable.h
> +++ /dev/null
> @@ -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
> diff --git a/MdePkg/Include/PiSmm.h b/MdePkg/Include/PiSmm.h
> index 535080037b8d..e94a5d21b8bf 100644
> --- a/MdePkg/Include/PiSmm.h
> +++ b/MdePkg/Include/PiSmm.h
> @@ -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
> 
> diff --git a/MdePkg/Include/Protocol/SmmCommunication.h
> b/MdePkg/Include/Protocol/SmmCommunication.h
> index c284e55b24a8..5587d49ceda3 100644
> --- a/MdePkg/Include/Protocol/SmmCommunication.h
> +++ b/MdePkg/Include/Protocol/SmmCommunication.h
> @@ -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 \
>    { \
> diff --git a/MdePkg/Include/Uefi/UefiAcpiDataTable.h
> b/MdePkg/Include/Uefi/UefiAcpiDataTable.h
> index 957721fa7cec..ae4942b69b47 100644
> --- a/MdePkg/Include/Uefi/UefiAcpiDataTable.h
> +++ b/MdePkg/Include/Uefi/UefiAcpiDataTable.h
> @@ -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
> --
> 2.7.0.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel