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 c09ef76e403e01b68d0b0d3d9c6000b25f17b3bd..ba5a3e113e3f9847324b92267fcb3cb67775d77c 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