MdePkg/DMAR: Add the definition for DMA_CTRL_PLATFORM_OPT_IN_FLAG bit
authorHao Wu <hao.a.wu@intel.com>
Thu, 18 Jan 2018 01:58:22 +0000 (09:58 +0800)
committerHao Wu <hao.a.wu@intel.com>
Fri, 19 Jan 2018 01:32:38 +0000 (09:32 +0800)
For the support of VTd 2.5, add the BIT definition of
DMA_CTRL_PLATFORM_OPT_IN_FLAG

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
MdePkg/Include/IndustryStandard/DmaRemappingReportingTable.h

index c09ef76..ba5a3e1 100644 (file)
@@ -2,7 +2,7 @@
   DMA Remapping Reporting (DMAR) ACPI table definition from Intel(R)\r
   Virtualization Technology for Directed I/O (VT-D) Architecture Specification.\r
 \r
-  Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>\r
   This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
@@ -13,7 +13,7 @@
 \r
   @par Revision Reference:\r
     - Intel(R) Virtualization Technology for Directed I/O (VT-D) Architecture\r
-      Specification v2.4, Dated June 2016.\r
+      Specification v2.5, Dated November 2017.\r
       http://www.intel.com/content/dam/www/public/us/en/documents/product-specifications/vt-directed-io-spec.pdf\r
 \r
   @par Glossary:\r
 ///\r
 /// DMA-Remapping Reporting Structure definitions from section 8.1\r
 ///@{\r
-#define EFI_ACPI_DMAR_REVISION                    0x01\r
+#define EFI_ACPI_DMAR_REVISION                             0x01\r
 \r
-#define EFI_ACPI_DMAR_FLAGS_INTR_REMAP            BIT0\r
-#define EFI_ACPI_DMAR_FLAGS_X2APIC_OPT_OUT        BIT1\r
+#define EFI_ACPI_DMAR_FLAGS_INTR_REMAP                     BIT0\r
+#define EFI_ACPI_DMAR_FLAGS_X2APIC_OPT_OUT                 BIT1\r
+#define EFI_ACPI_DMAR_FLAGS_DMA_CTRL_PLATFORM_OPT_IN_FLAG  BIT2\r
 ///@}\r
 \r
 ///\r
@@ -252,7 +253,12 @@ typedef struct {
                 firmware may Set this field to request system software to opt\r
                 out of enabling Extended xAPIC (X2APIC) mode. This field is\r
                 valid only when the INTR_REMAP field (bit 0) is Set.\r
-    - Bits[7:2] Reserved.\r
+    - Bit[2]:   DMA_CTRL_PLATFORM_OPT_IN_FLAG - Platform firmware is\r
+                recommended to Set this field to report any platform initiated\r
+                DMA is restricted to only reserved memory regions (reported in\r
+                RMRR structures) when transferring control to system software\r
+                such as on ExitBootServices().\r
+    - Bits[7:3] Reserved.\r
   **/\r
   UINT8                           Flags;\r
   UINT8                           Reserved[10];\r