From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mx.groups.io with SMTP id smtpd.web12.354.1607650631455065618 for ; Thu, 10 Dec 2020 17:37:11 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.100, mailfrom: w.sheng@intel.com) IronPort-SDR: M9fkYHz1XZY8H1VHfGwbCER3M75pvvLxFzG/aLP8MmrjHqi0t0vNmEB+XB8XcF4dT0Dw0nwIJ8 XvJSDgqDjXqg== X-IronPort-AV: E=McAfee;i="6000,8403,9831"; a="238464904" X-IronPort-AV: E=Sophos;i="5.78,409,1599548400"; d="scan'208";a="238464904" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Dec 2020 17:37:10 -0800 IronPort-SDR: G/jSDSU4mxC1X6mw/LZmojvAaCP+fKoYN8UHi3FLrnMceH/p7bAmBw4r9BA/MdjG3uIaMki7Uo pkujmk3/NBog== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,409,1599548400"; d="scan'208";a="440212870" Received: from shwdesssddpdwei.ccr.corp.intel.com ([10.239.157.46]) by fmsmga001.fm.intel.com with ESMTP; 10 Dec 2020 17:37:08 -0800 From: "Sheng Wei" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu , Jiewen Yao , Jenny Huang , Kowalewski Robert , Feng Roger Subject: [PATCH] MdePkg/include: Add DMAR SATC Table Definition Date: Fri, 11 Dec 2020 09:36:53 +0800 Message-Id: <20201211013653.11624-1-w.sheng@intel.com> X-Mailer: git-send-email 2.16.2.windows.1 SoC Integrated Address Translation Cache (SATC) reporting structure is one of the Remapping Structure, which is imported since Intel(R) Virtualization Technology for Directed I/O (VT-D) Architecture Specification v3.2. REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3109 Signed-off-by: Sheng Wei Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Cc: Jiewen Yao Cc: Jenny Huang Cc: Kowalewski Robert Cc: Feng Roger --- .../IndustryStandard/DmaRemappingReportingTable.h | 34 ++++++++++++++++++++-- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/MdePkg/Include/IndustryStandard/DmaRemappingReportingTable.h b/MdePkg/Include/IndustryStandard/DmaRemappingReportingTable.h index 7c50dc972e..48f6959fec 100644 --- a/MdePkg/Include/IndustryStandard/DmaRemappingReportingTable.h +++ b/MdePkg/Include/IndustryStandard/DmaRemappingReportingTable.h @@ -2,13 +2,13 @@ DMA Remapping Reporting (DMAR) ACPI table definition from Intel(R) Virtualization Technology for Directed I/O (VT-D) Architecture Specification. - Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.
+ Copyright (c) 2016 - 2020, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent @par Revision Reference: - Intel(R) Virtualization Technology for Directed I/O (VT-D) Architecture - Specification v2.5, Dated November 2017. - http://www.intel.com/content/dam/www/public/us/en/documents/product-specifications/vt-directed-io-spec.pdf + Specification v3.2, Dated October 2020. + https://software.intel.com/content/dam/develop/external/us/en/documents/vt-directed-io-spec.pdf @par Glossary: - HPET - High Precision Event Timer @@ -39,6 +39,7 @@ #define EFI_ACPI_DMAR_TYPE_ATSR 0x02 #define EFI_ACPI_DMAR_TYPE_RHSA 0x03 #define EFI_ACPI_DMAR_TYPE_ANDD 0x04 +#define EFI_ACPI_DMAR_TYPE_SATC 0x05 ///@} /// @@ -216,6 +217,32 @@ typedef struct { UINT8 AcpiDeviceNumber; } EFI_ACPI_DMAR_ANDD_HEADER; +/** + An SoC Integrated Address Translation Cache (SATC) reporting structure is + defined in section 8.8. +**/ +typedef struct { + EFI_ACPI_DMAR_STRUCTURE_HEADER Header; + /** + - Bit[0]: ATC_REQUIRED: + - If Set, indicates that every SoC integrated device enumerated + in this table has a functional requirement to enable its ATC + (via the ATS capability) for device operation. + - If Clear, any device enumerated in this table can operate when + its respective ATC is not enabled (albeit with reduced + performance or functionality). + - Bits[7:1] Reserved. + **/ + UINT8 Flags; + UINT8 Reserved; + /// + /// The PCI Segment associated with this SATC structure. All SoC integrated + /// devices within a PCI segment with same value for Flags field must be + /// enumerated in the same SATC structure. + /// + UINT16 SegmentNumber; +} EFI_ACPI_DMAR_SATC_HEADER; + /** DMA Remapping Reporting Structure Header as defined in section 8.1 This header will be followed by list of Remapping Structures listed below @@ -224,6 +251,7 @@ typedef struct { - Root Port ATS Capability Reporting (ATSR) - Remapping Hardware Static Affinity (RHSA) - ACPI Name-space Device Declaration (ANDD) + - SoC Integrated Address Translation Cache reporting (SATC) These structure types must by reported in numerical order. i.e., All remapping structures of type 0 (DRHD) enumerated before remapping structures of type 1 (RMRR), and so forth. -- 2.16.2.windows.1