From nobody Sat Apr 27 05:25:37 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail(p=none dis=none) header.from=intel.com Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1531819339013223.98077579359312; Tue, 17 Jul 2018 02:22:19 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 160A82097F56A; Tue, 17 Jul 2018 02:22:18 -0700 (PDT) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 5A635203B99C8 for ; Tue, 17 Jul 2018 02:22:16 -0700 (PDT) Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Jul 2018 02:22:15 -0700 Received: from zwei4-mobl1.ccr.corp.intel.com ([10.239.193.155]) by orsmga007.jf.intel.com with ESMTP; 17 Jul 2018 02:22:12 -0700 X-Original-To: edk2-devel@lists.01.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.31; helo=mga06.intel.com; envelope-from=david.wei@intel.com; receiver=edk2-devel@lists.01.org X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,365,1526367600"; d="scan'208";a="57114146" From: zwei4 To: edk2-devel@lists.01.org Date: Tue, 17 Jul 2018 17:22:08 +0800 Message-Id: <20180717092208.18764-1-david.wei@intel.com> X-Mailer: git-send-email 2.14.1.windows.1 Subject: [edk2] [Patch][edk2-platforms/devel-IntelAtomProcessorE3900] Enable VT-d DMA remapping for DMA protection. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: David Wei MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" (1) Add VT-d modules into FDF file. (2) Add Setup option and configuration policy for pre-boot VT-d enabling. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: David Wei CC: Mang Guo --- .../Common/Include/Guid/SetupVariable.h | 4 ++- .../Library/PeiPolicyUpdateLib/PeiScPolicyUpdate.c | 2 ++ .../Common/PlatformSettings/PlatformDxe/Platform.c | 31 +++++++++++++++++= ++- .../PlatformSettings/PlatformDxe/PlatformDxe.inf | 5 +++- .../PlatformSettings/PlatformSetupDxe/Cpu.vfi | 9 ++++++ .../PlatformSetupDxe/PlatformSetupDxe.c | 5 ++++ .../PlatformSettings/PlatformSetupDxe/UqiList.uni | Bin 126916 -> 127232 = bytes .../PlatformSetupDxe/VfrStrings.uni | Bin 306044 -> 306466 = bytes .../PlatformVTdInfoPei/PlatformVTdInfoPei.c | 32 +++++++++++++++++= ++-- .../PlatformVTdInfoPei/PlatformVTdInfoPei.inf | 6 ++++ Platform/BroxtonPlatformPkg/PlatformPkg.fdf | 8 ++++++ .../SouthCluster/Include/ConfigBlock/VtdConfig.h | 3 +- .../SouthCluster/Library/DxeVtdLib/DxeVtdLib.c | 21 +++++++++++++- .../Library/PeiScPolicyLib/ScPrintPolicy.c | 2 +- 14 files changed, 120 insertions(+), 8 deletions(-) diff --git a/Platform/BroxtonPlatformPkg/Common/Include/Guid/SetupVariable.= h b/Platform/BroxtonPlatformPkg/Common/Include/Guid/SetupVariable.h index 60ffb1beb5..4f5eeb1c0f 100644 --- a/Platform/BroxtonPlatformPkg/Common/Include/Guid/SetupVariable.h +++ b/Platform/BroxtonPlatformPkg/Common/Include/Guid/SetupVariable.h @@ -1,7 +1,7 @@ /** @file Header file for Setup Variable. =20 - Copyright (c) 2012 - 2017, Intel Corporation. All rights reserved.
+ Copyright (c) 2012 - 2018, Intel Corporation. All rights reserved.
=20 This program and the accompanying materials are licensed and made available under the terms and conditions of the BS= D License @@ -1130,6 +1130,8 @@ typedef struct { UINT8 HotThermalTripPointSen2; =20 UINT8 SueCreekBypass; + + UINT8 PrebootVTdEnable; } SYSTEM_CONFIGURATION; #pragma pack(pop) =20 diff --git a/Platform/BroxtonPlatformPkg/Common/Library/PeiPolicyUpdateLib/= PeiScPolicyUpdate.c b/Platform/BroxtonPlatformPkg/Common/Library/PeiPolicyU= pdateLib/PeiScPolicyUpdate.c index e7714d189a..faf478ace8 100644 --- a/Platform/BroxtonPlatformPkg/Common/Library/PeiPolicyUpdateLib/PeiScPo= licyUpdate.c +++ b/Platform/BroxtonPlatformPkg/Common/Library/PeiPolicyUpdateLib/PeiScPo= licyUpdate.c @@ -640,6 +640,8 @@ UpdatePeiScPolicy ( } =20 VtdConfig->VtdEnable =3D SystemConfiguration.VTdEnable; + VtdConfig->PrebootVTdEnable =3D SystemConfiguration.PrebootVTdEnable; + =20 // // Power management Configuration // diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformDx= e/Platform.c b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/Platform= Dxe/Platform.c index 712d5cd14f..31f8bedc31 100644 --- a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformDxe/Platf= orm.c +++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformDxe/Platf= orm.c @@ -1,7 +1,7 @@ /** @file Platform Initialization Driver. =20 - Copyright (c) 1999 - 2017, Intel Corporation. All rights reserved.
+ Copyright (c) 1999 - 2018, Intel Corporation. All rights reserved.
=20 This program and the accompanying materials are licensed and made available under the terms and conditions of the BS= D License @@ -38,6 +38,9 @@ #include #include #include +#include +#include +#include =20 #if (ENBDT_PF_ENABLE =3D=3D 1) //BXTP #include @@ -496,6 +499,31 @@ InitPlatformBootMode ( =20 } =20 +VOID +InitPlatformVtdDxePolicy ( + VOID + ) +{ + SC_POLICY_HOB *ScPolicy; + EFI_PEI_HOB_POINTERS HobPtr; + SC_VTD_CONFIG *VtdConfig; + EFI_STATUS Status; + + // + // Get SC VT-d config block + // + HobPtr.Guid =3D GetFirstGuidHob (&gScPolicyHobGuid); + ASSERT (HobPtr.Guid !=3D NULL); + ScPolicy =3D (SC_POLICY_HOB*) GET_GUID_HOB_DATA (HobPtr.Guid); + Status =3D GetConfigBlock ((VOID *) ScPolicy, &gVtdConfigGuid, (VOID *) = &VtdConfig); + ASSERT_EFI_ERROR (Status); + DEBUG ((DEBUG_INFO, "Set ScPolicy VtdConfig PrebootVTdEnable.\n")); + =20 + VtdConfig->PrebootVTdEnable =3D 0; + if ((BOOLEAN)(mSystemConfiguration.PrebootVTdEnable) =3D=3D TRUE) { + VtdConfig->PrebootVTdEnable =3D 1; + } +} =20 VOID InitPlatformUsbPolicy ( @@ -839,6 +867,7 @@ InitializePlatform ( IoWrite8 (PCAT_RTC_ADDRESS_REGISTER, RTC_ADDRESS_REGISTER_B); IoWrite8 (PCAT_RTC_DATA_REGISTER, IoRead8 (PCAT_RTC_DATA_REGISTER) & ~B_= RTC_ALARM_INT_ENABLE); =20 + InitPlatformVtdDxePolicy(); InitPlatformIdePolicy (); InitPlatformUsbPolicy (); InitSioPlatformPolicy (); diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformDx= e/PlatformDxe.inf b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/Pla= tformDxe/PlatformDxe.inf index 440071fd41..8eb6a7aa82 100644 --- a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformDxe/Platf= ormDxe.inf +++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformDxe/Platf= ormDxe.inf @@ -1,7 +1,7 @@ ## @file # Component description file for platform DXE driver # -# Copyright (c) 1999 - 2017, Intel Corporation. All rights reserved.
+# Copyright (c) 1999 - 2018, Intel Corporation. All rights reserved.
# # This program and the accompanying materials # are licensed and made available under the terms and conditions of the B= SD License @@ -43,6 +43,7 @@ IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec BroxtonPlatformPkg/PlatformPkg.dec BroxtonSiPkg/BroxtonSiPkg.dec + BroxtonSiPkg/BroxtonSiPrivate.dec SecurityPkg/SecurityPkg.dec =20 [LibraryClasses] @@ -89,6 +90,8 @@ gEfiImageSecurityDatabaseGuid gEfiPlatformInfoGuid gFdoModeEnabledHobGuid ## CONSUMES + gScPolicyHobGuid + gVtdConfigGuid =20 [Protocols] gDxeSiPolicyProtocolGuid # PRODUCES diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSe= tupDxe/Cpu.vfi b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/Platfo= rmSetupDxe/Cpu.vfi index b2bafa979c..23859e6a3a 100644 --- a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/= Cpu.vfi +++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/= Cpu.vfi @@ -45,6 +45,15 @@ form formid =3D CPU_CONFIGURATION_FORM_ID, option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D MANU= FACTURING | DEFAULT | RESET_REQUIRED; option text =3D STRING_TOKEN(STR_ENABLE), value =3D 1, flags =3D RESE= T_REQUIRED; endoneof; + + grayoutif ideqval Setup.VTdEnable =3D=3D 0; + oneof varid =3D Setup.PrebootVTdEnable, + prompt =3D STRING_TOKEN(STR_PREBOOT_VTD_PROMPT), + help =3D STRING_TOKEN(STR_PREBOOT_VTD_HELP), + option text =3D STRING_TOKEN(STR_DISABLE), value =3D 0, flags =3D MANU= FACTURING | DEFAULT | RESET_REQUIRED; + option text =3D STRING_TOKEN(STR_ENABLE), value =3D 1, flags =3D RESE= T_REQUIRED; + endoneof; + endif; endif; =20 oneof varid =3D Setup.EnableTm, diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSe= tupDxe/PlatformSetupDxe.c b/Platform/BroxtonPlatformPkg/Common/PlatformSett= ings/PlatformSetupDxe/PlatformSetupDxe.c index 7e3beb6116..21fd328fd4 100644 --- a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/= PlatformSetupDxe.c +++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/= PlatformSetupDxe.c @@ -477,6 +477,11 @@ SystemConfigCallback ( if (Private->FakeNvData.IpuEn =3D=3D 1) { Private->FakeNvData.VTdEnable =3D 0; } + + if (Private->FakeNvData.VTdEnable =3D=3D 0) { + Private->FakeNvData.PrebootVTdEnable =3D 0; + } + =20 // // Pass changed uncommitted data back to Form Browser // diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSe= tupDxe/UqiList.uni b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/Pl= atformSetupDxe/UqiList.uni index 4666b9a6a5b2b365750f5afdbc1ce1810c62b1e4..c7aa4873575c9f3b933314bdd47= 17378b8c698a2 100644 GIT binary patch delta 92 zcmX?dpS|G`d&3sSBk!lDJ!X`eu29Fw!tcu9#NZEvAq?>hVGJRY7dj+P517cv#hk)m fIoZ%a5naLbjn5cur*EiYQ~@hvOJPW4P+|Z8O6eLR delta 11 ScmZp8#D3&Hd&3sSBkuts%LV)Z diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSe= tupDxe/VfrStrings.uni b/Platform/BroxtonPlatformPkg/Common/PlatformSettings= /PlatformSetupDxe/VfrStrings.uni index df868581ebdda14ee03287bbb2d73bd40e03dbe8..bb53da281824b22ebff1c370df8= 7c7e0409b1fb9 100644 GIT binary patch delta 156 zcmex!O=3D!_Ap$&2KIb9i?82o`SWOCzN&*=3Ds|%xZ$E3`q?6Kv=3D?{z!1g|!k|0ZFtIG4u9I^I2AL0|00eE)f6# delta 47 zcmZ2^EoJ!3V3)?FeG6FFZ5HoMDSje)98vqjM B6vzMo diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformVT= dInfoPei/PlatformVTdInfoPei.c b/Platform/BroxtonPlatformPkg/Common/Platform= Settings/PlatformVTdInfoPei/PlatformVTdInfoPei.c index b342e99f22..89b0133fd8 100644 --- a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformVTdInfoPe= i/PlatformVTdInfoPei.c +++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformVTdInfoPe= i/PlatformVTdInfoPei.c @@ -15,12 +15,14 @@ #include =20 #include - +#include #include #include #include #include +#include #include +#include =20 =20 #define R_SA_MCHBAR (0x48) @@ -320,7 +322,33 @@ PlatformVTdInfoInitialize ( { EFI_STATUS Status; EFI_PEI_PPI_DESCRIPTOR *PpiDesc; - =20 + UINTN VariableSize; + EFI_PEI_READ_ONLY_VARIABLE2_PPI *VariableServices; + SYSTEM_CONFIGURATION SystemConfiguration; + + VariableSize =3D sizeof (SYSTEM_CONFIGURATION); + ZeroMem (&SystemConfiguration, sizeof (SYSTEM_CONFIGURATION)); + + Status =3D (*PeiServices)->LocatePpi ( + (CONST EFI_PEI_SERVICES **)PeiServices, + &gEfiPeiReadOnlyVariable2PpiGuid, + 0, + NULL, + (VOID **) &VariableServices + ); + + Status =3D VariableServices->GetVariable ( + VariableServices, + PLATFORM_SETUP_VARIABLE_NAME, + &gEfiSetupVariableGuid, + NULL, + &VariableSize, + &SystemConfiguration + ); + + if ((SystemConfiguration.VTdEnable =3D=3D FALSE) || (SystemConfiguration= .PrebootVTdEnable =3D=3D FALSE) ) { + return EFI_SUCCESS; + } // // This driver assumes VT-d has been enabled by FSP. // diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformVT= dInfoPei/PlatformVTdInfoPei.inf b/Platform/BroxtonPlatformPkg/Common/Platfo= rmSettings/PlatformVTdInfoPei/PlatformVTdInfoPei.inf index d6a865109c..506cf3d8ea 100644 --- a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformVTdInfoPe= i/PlatformVTdInfoPei.inf +++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformVTdInfoPe= i/PlatformVTdInfoPei.inf @@ -36,6 +36,7 @@ MdeModulePkg/MdeModulePkg.dec IntelSiliconPkg/IntelSiliconPkg.dec BroxtonSiPkg/BroxtonSiPkg.dec + BroxtonPlatformPkg/PlatformPkg.dec =20 [LibraryClasses] PeimEntryPoint @@ -43,9 +44,14 @@ DebugLib PciLib IoLib + BaseMemoryLib =20 [Ppis] gEdkiiVTdInfoPpiGuid ## PRODUCES + gEfiPeiReadOnlyVariable2PpiGuid + =20 +[Guids] + gEfiSetupVariableGuid =20 [Depex] gEfiPeiMasterBootModePpiGuid diff --git a/Platform/BroxtonPlatformPkg/PlatformPkg.fdf b/Platform/Broxton= PlatformPkg/PlatformPkg.fdf index ca22f75965..4ad90dc3c8 100644 --- a/Platform/BroxtonPlatformPkg/PlatformPkg.fdf +++ b/Platform/BroxtonPlatformPkg/PlatformPkg.fdf @@ -306,6 +306,12 @@ INF MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRo= uterPei.inf !endif =20 + # + # VT-d for DMA Protection + # + INF $(PLATFORM_PACKAGE_COMMON)/PlatformSettings/PlatformVTdInfoPei/Platf= ormVTdInfoPei.inf + INF IntelSiliconPkg/Feature/VTd/IntelVTdPmrPei/IntelVTdPmrPei.inf + =20 [FV.FVIBBM] BlockSize =3D $(FLASH_BLOCK_SIZE) FvBaseAddress =3D 0xFEF45000 @@ -768,6 +774,8 @@ APRIORI DXE { # VT-d for MDA Protection # INF RuleOverride =3D ACPITABLE $(PLATFORM_SI_PACKAGE)/SouthCluster/AcpiT= ableDmar/AcpiTableDmar.inf + INF $(PLATFORM_PACKAGE_COMMON)/PlatformSettings/PlatformVTdDxe/PlatformV= TdDxe.inf + INF IntelSiliconPkg/Feature/VTd/IntelVTdDxe/IntelVTdDxe.inf =20 [FV.FVOBB] BlockSize =3D $(FLASH_BLOCK_SIZE) diff --git a/Silicon/BroxtonSoC/BroxtonSiPkg/SouthCluster/Include/ConfigBlo= ck/VtdConfig.h b/Silicon/BroxtonSoC/BroxtonSiPkg/SouthCluster/Include/Confi= gBlock/VtdConfig.h index e6fb1a24ec..b38d34a4a1 100644 --- a/Silicon/BroxtonSoC/BroxtonSiPkg/SouthCluster/Include/ConfigBlock/VtdC= onfig.h +++ b/Silicon/BroxtonSoC/BroxtonSiPkg/SouthCluster/Include/ConfigBlock/VtdC= onfig.h @@ -28,8 +28,9 @@ extern EFI_GUID gVtdConfigGuid; typedef struct { CONFIG_BLOCK_HEADER Header; ///< Config Block Head= er UINT32 VtdEnable : 1; ///< 1: Enable, 0: = Disable VT-d + UINT32 PrebootVTdEnable : 1; UINT8 x2ApicEnabled : 1; - UINT32 RsvdBits : 30; ///< Reserved bits + UINT32 RsvdBits : 29; ///< Reserved bits UINT64 RmrrUsbBaseAddr; UINT64 RmrrUsbLimit; } SC_VTD_CONFIG; diff --git a/Silicon/BroxtonSoC/BroxtonSiPkg/SouthCluster/Library/DxeVtdLib= /DxeVtdLib.c b/Silicon/BroxtonSoC/BroxtonSiPkg/SouthCluster/Library/DxeVtdL= ib/DxeVtdLib.c index 80f37a664b..abcfee2998 100644 --- a/Silicon/BroxtonSoC/BroxtonSiPkg/SouthCluster/Library/DxeVtdLib/DxeVtd= Lib.c +++ b/Silicon/BroxtonSoC/BroxtonSiPkg/SouthCluster/Library/DxeVtdLib/DxeVtd= Lib.c @@ -542,11 +542,24 @@ UpdateDmarOnReadyToBoot ( UINTN AcpiTableHandle; EFI_FIRMWARE_VOLUME2_PROTOCOL *FwVol; EFI_ACPI_DESCRIPTION_HEADER *DmarAcpiTable; + SC_POLICY_HOB *ScPolicy; + EFI_PEI_HOB_POINTERS HobPtr; + SC_VTD_CONFIG *VtdConfig; =20 AcpiTableProtocol =3D NULL; DmarAcpiTable =3D NULL; Index =3D 0; =20 + // + // Get SC VT-d config block + // + HobPtr.Guid =3D GetFirstGuidHob (&gScPolicyHobGuid); + ASSERT (HobPtr.Guid !=3D NULL); + ScPolicy =3D (SC_POLICY_HOB*) GET_GUID_HOB_DATA (HobPtr.Guid); + Status =3D GetConfigBlock ((VOID *) ScPolicy, &gVtdConfigGuid, (VOID *) = &VtdConfig); + ASSERT_EFI_ERROR (Status); + DEBUG ((DEBUG_INFO, "ScPolicy PrebootVTdEnable =3D %x\n", VtdConfig->Pre= bootVTdEnable)); + // // Locate ACPI support protocol // @@ -684,7 +697,13 @@ UpdateDmarOnReadyToBoot ( DEBUG ((DEBUG_ERROR, "Error updating the DMAR ACPI table\n")); } =20 - EfiEventGroupSignal (&gEfiAcpi10TableGuid); + // + // Only notify IntelVtdDxe driver to setup pre-boot VT-d if pre-boot VT-= d has been enabled by BIOS Setup option. + // + if ((BOOLEAN)(VtdConfig->PrebootVTdEnable) =3D=3D TRUE) { + DEBUG ((DEBUG_INFO, "VT-d signal gEfiAcpi10TableGuid.\n")); + EfiEventGroupSignal (&gEfiAcpi10TableGuid); + } } =20 =20 diff --git a/Silicon/BroxtonSoC/BroxtonSiPkg/SouthCluster/Library/PeiScPoli= cyLib/ScPrintPolicy.c b/Silicon/BroxtonSoC/BroxtonSiPkg/SouthCluster/Librar= y/PeiScPolicyLib/ScPrintPolicy.c index 7ccf1d2495..7ccaac8f7e 100644 --- a/Silicon/BroxtonSoC/BroxtonSiPkg/SouthCluster/Library/PeiScPolicyLib/S= cPrintPolicy.c +++ b/Silicon/BroxtonSoC/BroxtonSiPkg/SouthCluster/Library/PeiScPolicyLib/S= cPrintPolicy.c @@ -500,7 +500,7 @@ PrintVtdConfig ( { DEBUG ((DEBUG_INFO, "------------------ Vtd Config ------------------\n"= )); DEBUG ((DEBUG_INFO, " VtdEnable =3D %x\n", VtdConfig->VtdEnable)); - + DEBUG ((DEBUG_INFO, " PrebootVTdEnable =3D %x\n", VtdConfig->PrebootVTdE= nable)); return; } =20 --=20 2.14.1.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel