diff options
author | Jiewen Yao <jiewen.yao@intel.com> | 2017-09-04 09:50:25 +0800 |
---|---|---|
committer | Jiewen Yao <jiewen.yao@intel.com> | 2017-09-07 21:35:06 +0800 |
commit | c50596a701435b62dc7e9c12b49201a17c38e17c (patch) | |
tree | cb0874cbfb68cd33435a24e6720220da0745aac1 /IntelSiliconPkg | |
parent | 0d12b733060930df03fca00ae1228b565481a3aa (diff) | |
download | edk2-c50596a701435b62dc7e9c12b49201a17c38e17c.zip edk2-c50596a701435b62dc7e9c12b49201a17c38e17c.tar.gz edk2-c50596a701435b62dc7e9c12b49201a17c38e17c.tar.bz2 |
IntelSiliconPkg/IntelVtd: Consume VTd policy PCD
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>
Diffstat (limited to 'IntelSiliconPkg')
-rw-r--r-- | IntelSiliconPkg/IntelVTdDxe/DmaProtection.c | 7 | ||||
-rw-r--r-- | IntelSiliconPkg/IntelVTdDxe/IntelVTdDxe.c | 4 | ||||
-rw-r--r-- | IntelSiliconPkg/IntelVTdDxe/IntelVTdDxe.inf | 3 |
3 files changed, 12 insertions, 2 deletions
diff --git a/IntelSiliconPkg/IntelVTdDxe/DmaProtection.c b/IntelSiliconPkg/IntelVTdDxe/DmaProtection.c index 82ed4d2..f5de01f 100644 --- a/IntelSiliconPkg/IntelVTdDxe/DmaProtection.c +++ b/IntelSiliconPkg/IntelVTdDxe/DmaProtection.c @@ -437,8 +437,11 @@ OnExitBootServices ( {
DEBUG ((DEBUG_INFO, "Vtd OnExitBootServices\n"));
DumpVtdRegsAll ();
- DisableDmar ();
- DumpVtdRegsAll ();
+
+ if ((PcdGet8(PcdVTdPolicyPropertyMask) & BIT1) == 0) {
+ DisableDmar ();
+ DumpVtdRegsAll ();
+ }
}
/**
diff --git a/IntelSiliconPkg/IntelVTdDxe/IntelVTdDxe.c b/IntelSiliconPkg/IntelVTdDxe/IntelVTdDxe.c index 24b88c3..64693a8 100644 --- a/IntelSiliconPkg/IntelVTdDxe/IntelVTdDxe.c +++ b/IntelSiliconPkg/IntelVTdDxe/IntelVTdDxe.c @@ -352,6 +352,10 @@ IntelVTdInitialize ( EFI_STATUS Status;
EFI_HANDLE Handle;
+ if ((PcdGet8(PcdVTdPolicyPropertyMask) & BIT0) == 0) {
+ return EFI_UNSUPPORTED;
+ }
+
InitializeDmaProtection ();
Handle = NULL;
diff --git a/IntelSiliconPkg/IntelVTdDxe/IntelVTdDxe.inf b/IntelSiliconPkg/IntelVTdDxe/IntelVTdDxe.inf index 697932e..d45fd67 100644 --- a/IntelSiliconPkg/IntelVTdDxe/IntelVTdDxe.inf +++ b/IntelSiliconPkg/IntelVTdDxe/IntelVTdDxe.inf @@ -73,6 +73,9 @@ gEfiPciEnumerationCompleteProtocolGuid ## CONSUMES
gEdkiiPlatformVTdPolicyProtocolGuid ## SOMETIMES_CONSUMES
+[Pcd]
+ gIntelSiliconPkgTokenSpaceGuid.PcdVTdPolicyPropertyMask ## CONSUMES
+
[Depex]
gEfiPciRootBridgeIoProtocolGuid AND
gEfiAcpiSdtProtocolGuid
|