]> git.proxmox.com Git - mirror_edk2.git/commitdiff
IntelSiliconPkg/IntelVtd: Consume VTd policy PCD
authorJiewen Yao <jiewen.yao@intel.com>
Mon, 4 Sep 2017 01:50:25 +0000 (09:50 +0800)
committerJiewen Yao <jiewen.yao@intel.com>
Thu, 7 Sep 2017 13:35:06 +0000 (21:35 +0800)
Cc: Star Zeng <star.zeng@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
IntelSiliconPkg/IntelVTdDxe/DmaProtection.c
IntelSiliconPkg/IntelVTdDxe/IntelVTdDxe.c
IntelSiliconPkg/IntelVTdDxe/IntelVTdDxe.inf

index 82ed4d2df28504f2c243db495d565793b26d589a..f5de01f3806cc35a87cac2311049c77b00272a75 100644 (file)
@@ -437,8 +437,11 @@ OnExitBootServices (
 {\r
   DEBUG ((DEBUG_INFO, "Vtd OnExitBootServices\n"));\r
   DumpVtdRegsAll ();\r
 {\r
   DEBUG ((DEBUG_INFO, "Vtd OnExitBootServices\n"));\r
   DumpVtdRegsAll ();\r
-  DisableDmar ();\r
-  DumpVtdRegsAll ();\r
+\r
+  if ((PcdGet8(PcdVTdPolicyPropertyMask) & BIT1) == 0) {\r
+    DisableDmar ();\r
+    DumpVtdRegsAll ();\r
+  }\r
 }\r
 \r
 /**\r
 }\r
 \r
 /**\r
index 24b88c371928363a682bb8ff7cc0a2107e199dfe..64693a8c6ec3520d5e467facb6749f4ae52b8aad 100644 (file)
@@ -352,6 +352,10 @@ IntelVTdInitialize (
   EFI_STATUS  Status;\r
   EFI_HANDLE  Handle;\r
 \r
   EFI_STATUS  Status;\r
   EFI_HANDLE  Handle;\r
 \r
+  if ((PcdGet8(PcdVTdPolicyPropertyMask) & BIT0) == 0) {\r
+    return EFI_UNSUPPORTED;\r
+  }\r
+\r
   InitializeDmaProtection ();\r
 \r
   Handle = NULL;\r
   InitializeDmaProtection ();\r
 \r
   Handle = NULL;\r
index 697932e9bf24897e0638264bc9ccc24856fb758a..d45fd67964c9829e530ef7b1a88d6237a6b3a548 100644 (file)
@@ -73,6 +73,9 @@
   gEfiPciEnumerationCompleteProtocolGuid      ## CONSUMES\r
   gEdkiiPlatformVTdPolicyProtocolGuid         ## SOMETIMES_CONSUMES\r
 \r
   gEfiPciEnumerationCompleteProtocolGuid      ## CONSUMES\r
   gEdkiiPlatformVTdPolicyProtocolGuid         ## SOMETIMES_CONSUMES\r
 \r
+[Pcd]\r
+  gIntelSiliconPkgTokenSpaceGuid.PcdVTdPolicyPropertyMask   ## CONSUMES\r
+\r
 [Depex]\r
   gEfiPciRootBridgeIoProtocolGuid AND\r
   gEfiAcpiSdtProtocolGuid\r
 [Depex]\r
   gEfiPciRootBridgeIoProtocolGuid AND\r
   gEfiAcpiSdtProtocolGuid\r