From nobody Fri May 3 06:27:04 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 1529465352090379.2097569767973; Tue, 19 Jun 2018 20:29:12 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id E3A4E21194D48; Tue, 19 Jun 2018 20:29:10 -0700 (PDT) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) (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 1339D21194D44 for ; Tue, 19 Jun 2018 20:29:09 -0700 (PDT) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 19 Jun 2018 20:29:09 -0700 Received: from zwei4-mobl1.ccr.corp.intel.com ([10.239.193.206]) by orsmga001.jf.intel.com with ESMTP; 19 Jun 2018 20:29:07 -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=192.55.52.115; helo=mga14.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,245,1526367600"; d="scan'208";a="66046211" From: zwei4 To: edk2-devel@lists.01.org Date: Wed, 20 Jun 2018 11:29:00 +0800 Message-Id: <20180620032900.9056-1-david.wei@intel.com> X-Mailer: git-send-email 2.14.1.windows.1 Subject: [edk2] [Patch][edk2-platforms/devel-MinnowBoardMax-UDK2017] Ready To Lock events signaling and SMM S3 boot script. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Guo@ml01.01.org, Yao@ml01.01.org, Wu@ml01.01.org, Jiewen 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) Move InstallReadyToLock() to make sure gEfiEndOfDxeEventGroupGuid, gExi= tPmAuthProtocolGuid and gEfiDxeSmmReadyToLockProtocolGuid are signaled befo= re PCI bus enumeration. (2) Add SMM driver PchInitSmm.inf and GraphicDxeInitSmm.in, so that some S3= boot script could be saved in secure way after gEfiDxeSmmReadyToLockProtoc= olGuid being installed. (3) Fix a S3 boot script bug in SMM driver PlatformSmm to prevent boot scri= pt re-saving. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: zwei4 CC: Yao, Jiewen CC: Guo, Mang CC: Wu, Mike --- .../Library/PlatformBdsLib/BdsPlatform.c | 90 ++++--------------= ---- Vlv2TbltDevicePkg/PlatformPkg.fdf | 38 ++++----- Vlv2TbltDevicePkg/PlatformPkgGcc.fdf | 2 + Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc | 4 + Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 12 ++- Vlv2TbltDevicePkg/PlatformPkgX64.dsc | 14 ++-- Vlv2TbltDevicePkg/PlatformSmm/S3Save.c | 8 +- 7 files changed, 65 insertions(+), 103 deletions(-) diff --git a/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c b/Vlv2T= bltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c index cb5711a620..3e7cf351e7 100644 --- a/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c +++ b/Vlv2TbltDevicePkg/Library/PlatformBdsLib/BdsPlatform.c @@ -143,8 +143,8 @@ DisableAhciCtlr ( } =20 /** - Lock SMRAM with EFI_SMM_ACCESS2_PROTOCOL. To prevent DMA attack, Bus Mas= ter DMA of untrusetd PCI devices - must not be enabled before SMRAM lock. + Issues EndOfDxe event, installs gExitPmAuthProtocolGuid, and issues SMM = lock envent. Bus Master DMA should + not be enabled before SMRAM lock. =20 @param VOID =20 @@ -152,12 +152,14 @@ DisableAhciCtlr ( =20 **/ VOID -SmramLock ( +InstallReadyToLock ( VOID ) { EFI_STATUS Status; + EFI_HANDLE Handle; EFI_SMM_ACCESS2_PROTOCOL *SmmAccess; + EFI_ACPI_S3_SAVE_PROTOCOL *AcpiS3Save; UINTN PciDeviceConfigAdd; UINT16 VendorID; UINT16 CommandReg; @@ -165,7 +167,7 @@ SmramLock ( UINT8 FunIndex; =20 //=20 - // Check Buster Master Enable bit of untrusted PCI devices,including PCI= e root ports, on bus 0. + // Check Buster Master Enable bit of PCI devices,including PCIe root por= ts, on bus 0. // DEBUG ((DEBUG_ERROR, "BDS: Check Bus Master Enable of PCI devices before= SMRAM lock: \n")); =20 @@ -208,44 +210,6 @@ SmramLock ( } } =20 - // - // Lock SMRAM. - // - Status =3D gBS->LocateProtocol ( - &gEfiSmmAccess2ProtocolGuid, - NULL, - (VOID **) &SmmAccess - ); - if (!EFI_ERROR (Status)) { - // - // - // - Status =3D SmmAccess->Lock(SmmAccess); - DEBUG ((DEBUG_ERROR, "SMRAM is locked by EFI_SMM_ACCESS2_PROTOCOL!\n")= ); - ASSERT_EFI_ERROR (Status); - } - - return ; -} - -/** - Issues EndOfDxe event, installs gExitPmAuthProtocolGuid, and issues SMM = lock envent. - - @param VOID - - @retval None. - -**/ -VOID -InstallReadyToLock ( - VOID - ) -{ - EFI_STATUS Status; - EFI_HANDLE Handle; - EFI_SMM_ACCESS2_PROTOCOL *SmmAccess; - EFI_ACPI_S3_SAVE_PROTOCOL *AcpiS3Save; - // // Install DxeSmmReadyToLock protocol prior to the processing of boot op= tions // @@ -1896,17 +1860,13 @@ PlatformBdsPolicyBehavior ( #endif =20 // - // Lock SMRAM. + // Close boot script and install ready to lock. // - SmramLock (); + InstallReadyToLock (); =20 PlatformBdsInitHotKeyEvent (); PlatformBdsConnectSimpleConsole (gPlatformSimpleConsole); =20 - // - // Close boot script and install ready to lock. - // - InstallReadyToLock (); =20 // // Check to see if it's needed to dispatch more DXE drivers. @@ -1995,9 +1955,9 @@ PlatformBdsPolicyBehavior ( case BOOT_ASSUMING_NO_CONFIGURATION_CHANGES: =20 // - // Lock SMRAM. + // Close boot script and install ready to lock // - SmramLock (); + InstallReadyToLock (); =20 // // In no-configuration boot mode, we can connect the @@ -2006,10 +1966,6 @@ PlatformBdsPolicyBehavior ( BdsLibConnectAllDefaultConsoles (); PlatformBdsDiagnostics (IGNORE, FALSE, BaseMemoryTest); =20 - // - // Close boot script and install ready to lock - // - InstallReadyToLock (); =20 // // Perform some platform specific connect sequence @@ -2046,9 +2002,9 @@ PlatformBdsPolicyBehavior ( case BOOT_ON_FLASH_UPDATE: =20 // - // Lock SMRAM. + // Close boot script and install ready to lock // - SmramLock (); + InstallReadyToLock(); =20 // // Boot with the specific configuration @@ -2060,10 +2016,6 @@ PlatformBdsPolicyBehavior ( ProcessCapsules (); DEBUG((DEBUG_INFO, "ProcessCapsules Done\n")); =20 - // - // Close boot script and install ready to lock - // - InstallReadyToLock (); =20 BdsLibConnectAll (); =20 @@ -2100,9 +2052,9 @@ PlatformBdsPolicyBehavior ( case BOOT_IN_RECOVERY_MODE: =20 // - // Lock SMRAM. + // Close boot script and install ready to lock // - SmramLock (); + InstallReadyToLock (); =20 // // In recovery mode, just connect platform console @@ -2111,11 +2063,7 @@ PlatformBdsPolicyBehavior ( PlatformBdsConnectConsole (gPlatformConsole); PlatformBdsDiagnostics (EXTENSIVE, FALSE, BaseMemoryTest); =20 - // - // Close boot script and install ready to lock - // - InstallReadyToLock (); - =20 + BdsLibConnectAll (); =20 // @@ -2158,9 +2106,9 @@ FULL_CONFIGURATION: =20 =20 // - // Lock SMRAM. + // Close boot script and install ready to lock. // - SmramLock (); + InstallReadyToLock (); =20 // // Connect platform console @@ -2174,10 +2122,6 @@ FULL_CONFIGURATION: PlatformBdsNoConsoleAction (); } =20 - // - // Close boot script and install ready to lock. - // - InstallReadyToLock (); =20 // // This is Workgroud to show the fs for uSDcard, diff --git a/Vlv2TbltDevicePkg/PlatformPkg.fdf b/Vlv2TbltDevicePkg/Platform= Pkg.fdf index 84bc7db9dc..ca7fb24267 100644 --- a/Vlv2TbltDevicePkg/PlatformPkg.fdf +++ b/Vlv2TbltDevicePkg/PlatformPkg.fdf @@ -1,7 +1,7 @@ #/** @file # FDF file of Platform. # -# Copyright (c) 2008 - 2018, Intel Corporation. All rights reserved.
+# Copyright (c) 2008 - 2018, Intel Corporation. All rights reserved.
# = =20 # This program and the accompanying materials are licensed and made availa= ble under # the terms and conditions of the BSD License that accompanies this distri= bution. =20 @@ -342,7 +342,7 @@ INF RuleOverride =3D BINARY $(PLATFORM_BINARY_PACKAGE)/= $(DXE_ARCHITECTURE)$(TARGET INF MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf =20 -INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf +INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf INF $(PLATFORM_PACKAGE)/PlatformPei/PlatformPei.inf =20 !if $(MINNOW2_FSP_BUILD) =3D=3D FALSE @@ -409,10 +409,10 @@ APRIORI DXE { FILE FREEFORM =3D C3E36D09-8294-4b97-A857-D5288FE33E28 { SECTION RAW =3D $(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/$(DXE_= ARCHITECTURE)/BiosId.bin } - =20 -FILE FREEFORM =3D PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFil= e) { - SECTION RAW =3D MdeModulePkg/Logo/Logo.bmp - } + =20 +FILE FREEFORM =3D PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFil= e) { + SECTION RAW =3D MdeModulePkg/Logo/Logo.bmp + } =20 # # EDK II Related Platform codes @@ -427,7 +427,7 @@ INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf !if $(ACPI50_ENABLE) =3D=3D TRUE INF MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwareP= erformanceDxe.inf INF MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwareP= erformanceSmm.inf -INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphics= ResourceTableDxe.inf +INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphics= ResourceTableDxe.inf !endif =20 =20 @@ -499,6 +499,7 @@ INF RuleOverride =3D BINARY $(PLATFORM_BINARY_PACKAGE)/= $(DXE_ARCHITECTURE)$(TARGET =20 !if $(MINNOW2_FSP_BUILD) =3D=3D FALSE INF RuleOverride =3D BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)= $(TARGET)/$(DXE_ARCHITECTURE)/PchInitDxe.inf +INF RuleOverride =3D BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)= $(TARGET)/$(DXE_ARCHITECTURE)/PchInitSmm.inf !endif INF RuleOverride =3D BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)= $(TARGET)/$(DXE_ARCHITECTURE)/PchSmiDispatcher.inf !if $(PCIESC_ENABLE) =3D=3D TRUE @@ -512,6 +513,7 @@ INF RuleOverride =3D BINARY $(PLATFORM_BINARY_PACKAGE)/= $(DXE_ARCHITECTURE)$(TARGET INF RuleOverride =3D BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)= $(TARGET)/$(DXE_ARCHITECTURE)/PciHostBridge.inf !if $(MINNOW2_FSP_BUILD) =3D=3D FALSE INF RuleOverride =3D BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)= $(TARGET)/$(DXE_ARCHITECTURE)/VlvInitDxe.inf +INF RuleOverride =3D BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)= $(TARGET)/$(DXE_ARCHITECTURE)/GraphicDxeInitSmm.inf !else INF IntelFrameworkModulePkg/Universal/LegacyRegionDxe/LegacyRegionDxe.inf INF Vlv2TbltDevicePkg/VlvPlatformInitDxe/VlvPlatformInitDxe.inf @@ -543,7 +545,7 @@ INF $(PLATFORM_PACKAGE)/PlatformSmm/PlatformSmm.inf INF $(PLATFORM_PACKAGE)/PlatformInfoDxe/PlatformInfoDxe.inf INF $(PLATFORM_PACKAGE)/PlatformCpuInfoDxe/PlatformCpuInfoDxe.inf INF $(PLATFORM_PACKAGE)/PlatformDxe/PlatformDxe.inf -INF $(PLATFORM_PACKAGE)/PlatformRtcRuntimeDxe/PlatformRtcRuntimeDxe.inf +INF $(PLATFORM_PACKAGE)/PlatformRtcRuntimeDxe/PlatformRtcRuntimeDxe.inf INF $(PLATFORM_PACKAGE)/PciPlatform/PciPlatform.inf INF $(PLATFORM_PACKAGE)/SaveMemoryConfig/SaveMemoryConfig.inf INF RuleOverride =3D BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)= $(TARGET)/$(DXE_ARCHITECTURE)/PlatformCpuPolicy.inf @@ -733,10 +735,10 @@ FILE FREEFORM =3D 878AC2CC-5343-46F2-B563-51F89DAF56B= A { INF MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf INF MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf !if $(HTTP_BOOT_SUPPORT) =3D=3D TRUE - INF NetworkPkg\HttpDxe\HttpDxe.inf - INF NetworkPkg\HttpBootDxe\HttpBootDxe.inf - INF NetworkPkg\HttpUtilitiesDxe\HttpUtilitiesDxe.inf - INF NetworkPkg\DnsDxe\DnsDxe.inf + INF NetworkPkg/HttpDxe/HttpDxe.inf + INF NetworkPkg/HttpBootDxe/HttpBootDxe.inf + INF NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf + INF NetworkPkg/DnsDxe/DnsDxe.inf !endif !if $(NETWORK_IP6_ENABLE) =3D=3D TRUE INF NetworkPkg/Ip6Dxe/Ip6Dxe.inf @@ -1020,7 +1022,7 @@ INF FILE_GUID=3DF1E68873-DA37-4AA0-A12F-F0F8EBA2B24E = USE=3DX64 SignedCapsulePkg/Univ SMM_DEPEX SMM_DEPEX |.depex PE32 PE32 |.efi RAW BIN Optional |.aml - RAW ASL Optional |.aml + RAW ASL Optional |.aml UI STRING=3D"$(MODULE_NAME)" Optional VERSION STRING=3D"$(INF_VERSION)" Optional BUILD_NUM=3D$(BUILD_NUMBE= R) } @@ -1083,11 +1085,11 @@ INF FILE_GUID=3DF1E68873-DA37-4AA0-A12F-F0F8EBA2B24= E USE=3DX64 SignedCapsulePkg/Univ RAW ASL Optional |.aml } =20 -[Rule.Common.USER_DEFINED.LOGO] - FILE FREEFORM =3D $(NAMED_GUID) { - RAW BIN |.bmp - } - +[Rule.Common.USER_DEFINED.LOGO] + FILE FREEFORM =3D $(NAMED_GUID) { + RAW BIN |.bmp + } + [Rule.Common.ACPITABLE] FILE FREEFORM =3D $(NAMED_GUID) { RAW ACPI Optional |.acpi diff --git a/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf b/Vlv2TbltDevicePkg/Platf= ormPkgGcc.fdf index 2c1a283fc7..e44b0906d6 100644 --- a/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf +++ b/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf @@ -452,6 +452,7 @@ INF RuleOverride =3D BINARY $(PLATFORM_BINARY_PACKAGE)/= $(DXE_ARCHITECTURE)$(TARGET =20 !if $(MINNOW2_FSP_BUILD) =3D=3D FALSE INF RuleOverride =3D BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)= $(TARGET)/$(DXE_ARCHITECTURE)/PchInitDxe.inf +INF RuleOverride =3D BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)= $(TARGET)/$(DXE_ARCHITECTURE)/PchInitSmm.inf !endif INF RuleOverride =3D BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)= $(TARGET)/$(DXE_ARCHITECTURE)/PchSmiDispatcher.inf !if $(PCIESC_ENABLE) =3D=3D TRUE @@ -465,6 +466,7 @@ INF RuleOverride =3D BINARY $(PLATFORM_BINARY_PACKAGE)/= $(DXE_ARCHITECTURE)$(TARGET INF RuleOverride =3D BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)= $(TARGET)/$(DXE_ARCHITECTURE)/PciHostBridge.inf !if $(MINNOW2_FSP_BUILD) =3D=3D FALSE INF RuleOverride =3D BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)= $(TARGET)/$(DXE_ARCHITECTURE)/VlvInitDxe.inf +INF RuleOverride =3D BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)= $(TARGET)/$(DXE_ARCHITECTURE)/GraphicDxeInitSmm.inf !else INF IntelFrameworkModulePkg/Universal/LegacyRegionDxe/LegacyRegionDxe.inf INF Vlv2TbltDevicePkg/VlvPlatformInitDxe/VlvPlatformInitDxe.inf diff --git a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc b/Vlv2TbltDevicePkg/Pl= atformPkgGccX64.dsc index d83756348f..7fd82e2b62 100644 --- a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc +++ b/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc @@ -1309,6 +1309,9 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGE= T)/IA32/fTPMInitPeim.inf gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0xF0000043 } + + $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTU= RE)/PchInitSmm.inf + $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTU= RE)/PchSmiDispatcher.inf =20 !if $(PCIESC_ENABLE) =3D=3D TRUE @@ -1320,6 +1323,7 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGE= T)/IA32/fTPMInitPeim.inf $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTU= RE)/SmmAccess.inf $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTU= RE)/PciHostBridge.inf $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTU= RE)/VlvInitDxe.inf + $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTU= RE)/GraphicDxeInitSmm.inf =20 IntelFrameworkModulePkg/Universal/LegacyRegionDxe/LegacyRegionDxe.inf =20 diff --git a/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc b/Vlv2TbltDevicePkg/Plat= formPkgIA32.dsc index 15e0b81866..4dc05a2ad1 100644 --- a/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc +++ b/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc @@ -1321,6 +1321,9 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGE= T)/IA32/fTPMInitPeim.inf gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0xF0000043 } + + $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTU= RE)/PchInitSmm.inf + $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTU= RE)/PchSmiDispatcher.inf =20 !if $(PCIESC_ENABLE) =3D=3D TRUE @@ -1332,6 +1335,7 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGE= T)/IA32/fTPMInitPeim.inf $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTU= RE)/SmmAccess.inf $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTU= RE)/PciHostBridge.inf $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTU= RE)/VlvInitDxe.inf + $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTU= RE)/GraphicDxeInitSmm.inf =20 IntelFrameworkModulePkg/Universal/LegacyRegionDxe/LegacyRegionDxe.inf =20 @@ -1605,10 +1609,10 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TAR= GET)/IA32/fTPMInitPeim.inf MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf !if $(HTTP_BOOT_SUPPORT) =3D=3D TRUE - NetworkPkg\HttpDxe\HttpDxe.inf - NetworkPkg\HttpBootDxe\HttpBootDxe.inf - NetworkPkg\HttpUtilitiesDxe\HttpUtilitiesDxe.inf - NetworkPkg\DnsDxe\DnsDxe.inf + NetworkPkg/HttpDxe/HttpDxe.inf + NetworkPkg/HttpBootDxe/HttpBootDxe.inf + NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf + NetworkPkg/DnsDxe/DnsDxe.inf !endif MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf diff --git a/Vlv2TbltDevicePkg/PlatformPkgX64.dsc b/Vlv2TbltDevicePkg/Platf= ormPkgX64.dsc index cbbae31a7d..bf0a4cc905 100644 --- a/Vlv2TbltDevicePkg/PlatformPkgX64.dsc +++ b/Vlv2TbltDevicePkg/PlatformPkgX64.dsc @@ -893,11 +893,9 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdSystemRebootAfterCap= suleProcessFlag|0x0001 =20 ## This PCD defines the video horizontal resolution. # This PCD could be set to 0 then video resolution could be at highest = resolution. - #gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|0 gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800 ## This PCD defines the video vertical resolution. # This PCD could be set to 0 then video resolution could be at highest = resolution. - #gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|0 gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600 =20 ## This PCD defines the Console output column and the default value is 2= 5 according to UEFI spec. @@ -1322,6 +1320,9 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGE= T)/IA32/fTPMInitPeim.inf gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0xF0000043 } + =20 + $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTU= RE)/PchInitSmm.inf + $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTU= RE)/PchSmiDispatcher.inf =20 !if $(PCIESC_ENABLE) =3D=3D TRUE @@ -1333,6 +1334,7 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGE= T)/IA32/fTPMInitPeim.inf $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTU= RE)/SmmAccess.inf $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTU= RE)/PciHostBridge.inf $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTU= RE)/VlvInitDxe.inf + $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTU= RE)/GraphicDxeInitSmm.inf =20 IntelFrameworkModulePkg/Universal/LegacyRegionDxe/LegacyRegionDxe.inf =20 @@ -1607,10 +1609,10 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TAR= GET)/IA32/fTPMInitPeim.inf MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf !if $(HTTP_BOOT_SUPPORT) =3D=3D TRUE - NetworkPkg\HttpDxe\HttpDxe.inf - NetworkPkg\HttpBootDxe\HttpBootDxe.inf - NetworkPkg\HttpUtilitiesDxe\HttpUtilitiesDxe.inf - NetworkPkg\DnsDxe\DnsDxe.inf + NetworkPkg/HttpDxe/HttpDxe.inf + NetworkPkg/HttpBootDxe/HttpBootDxe.inf + NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf + NetworkPkg/DnsDxe/DnsDxe.inf !endif MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf diff --git a/Vlv2TbltDevicePkg/PlatformSmm/S3Save.c b/Vlv2TbltDevicePkg/Pla= tformSmm/S3Save.c index 8c7112bf0b..e70f2550db 100644 --- a/Vlv2TbltDevicePkg/PlatformSmm/S3Save.c +++ b/Vlv2TbltDevicePkg/PlatformSmm/S3Save.c @@ -27,6 +27,7 @@ Revision History =20 extern UINT16 mAcpiBaseAddr; EFI_PHYSICAL_ADDRESS mRuntimeScriptTableBase; +BOOLEAN mScriptSaved =3D FALSE; =20 EFI_STATUS InitRuntimeScriptTable ( @@ -249,7 +250,9 @@ SaveRuntimeScriptTable ( // UINT8 ExtReg[] =3D { 0x9E, 0x9D }; // SMRAM settings =20 - + if (mScriptSaved =3D=3D TRUE) { + return EFI_SUCCESS; + } =20 // // Save PCI-Host bridge settings (0, 0, 0). 0x90, 94 and 9c are changed = by CSM @@ -377,6 +380,7 @@ SaveRuntimeScriptTable ( &Data16 ); =20 - + mScriptSaved =3D TRUE; + =20 return EFI_SUCCESS; } --=20 2.14.1.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel