From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-x232.google.com (mail-wm0-x232.google.com [IPv6:2a00:1450:400c:c09::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 34DC9821ED for ; Thu, 2 Mar 2017 08:15:24 -0800 (PST) Received: by mail-wm0-x232.google.com with SMTP id n11so28649969wma.1 for ; Thu, 02 Mar 2017 08:15:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Wcet63ulzpe5jl+9qz+1eBgzhmTVeT3FGU6OifJrGBc=; b=FCLU3K4B6BHidPz071+GG7l9piwPeqpi1tm157MTNZQhNNPsw29/eoQO68KPuVi56r Q0oItGIhsrVBtX7sBlyepn+iFfm8o3dWuCy4WcfXNNa8iVCRKsXIHzR0odRkRkh84bI/ yCl/qO1lMF9afn0PdeD26f73vzgDx4eIIXelo= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Wcet63ulzpe5jl+9qz+1eBgzhmTVeT3FGU6OifJrGBc=; b=dgEOZbS0Pkdfgmji52ILZUdLZikQAaWfJzt344vpnpGg7XaqQFeA+sJ+hwOQtswqFu XUcggiKXaGcXgWLYuxv3RA0Lpe577pB6WwMHba5xyI4ZIeEA3BJLW42LYLVlpR3ZRObD IMwtmxj0LJ6wz7Wi9CSzkGIx3DyrygEGLIlmufyespN6bqBYBUuzCqFtpwO/0lWqhUKW qidJEqzuKPlhoK3B3z2Vaweo/J/kF691FVKw2qiwRbxidd/qE6lZ9yzjBCuUNIEtayxu qTbCs8fEev20dwTuQb9+TxsXOnUK69FQvKFY6UCPvpMMzKR2PzHJ0JQfIqkLJYKM3chM Zqkg== X-Gm-Message-State: AMke39kHOlJ4z2gLK5Sbnsuzq/0veG1Z19a/NehbcmJ/MPAUnIkiAzJn1/+YbRKYbuxF+nej X-Received: by 10.28.198.139 with SMTP id w133mr8700769wmf.80.1488471322501; Thu, 02 Mar 2017 08:15:22 -0800 (PST) Received: from localhost.localdomain ([105.147.1.203]) by smtp.gmail.com with ESMTPSA id n13sm11412650wra.17.2017.03.02.08.15.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 02 Mar 2017 08:15:21 -0800 (PST) From: Ard Biesheuvel To: edk2-devel@lists.01.org, lersek@redhat.com, leif.lindholm@linaro.org Cc: jiewen.yao@intel.com, Ard Biesheuvel Date: Thu, 2 Mar 2017 16:15:05 +0000 Message-Id: <1488471305-23752-5-git-send-email-ard.biesheuvel@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1488471305-23752-1-git-send-email-ard.biesheuvel@linaro.org> References: <1488471305-23752-1-git-send-email-ard.biesheuvel@linaro.org> Subject: [PATCH 4/4] ArmVirtPkg/ArmVirtQemu: enable basic capsule support X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Mar 2017 16:15:24 -0000 This wires up the existing code for processing capsule: it enables CapsulePei, which preserves capsules left in memory by the OS, and combined with the PlatformBootManagerLib and other changes in previous patches, this will ensure that capsules are handed back to the OS via the system table if it requested so. This enables features like the capsule-pstore for Linux, which is currently under review (sadly, Gmane nor marc.info archive the linux-efi mailing list) Implementing the firmware management protocol on top of this should certainly be doable, but has not been attempted yet. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel --- ArmVirtPkg/ArmVirtQemu.dsc | 7 ++++++- ArmVirtPkg/ArmVirtQemu.fdf | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc index 477dfdcfc764..b44b3c82abac 100644 --- a/ArmVirtPkg/ArmVirtQemu.dsc +++ b/ArmVirtPkg/ArmVirtQemu.dsc @@ -59,7 +59,7 @@ [LibraryClasses.common] TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf NorFlashPlatformLib|ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf - CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf + CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeCapsuleLib.inf BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf PlatformBootManagerLib|ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf @@ -98,6 +98,9 @@ [PcdsFeatureFlag.common] gArmVirtTokenSpaceGuid.PcdPureAcpiBoot|TRUE !endif + gEfiMdeModulePkgTokenSpaceGuid.PcdSupportUpdateCapsuleReset|TRUE + + [PcdsFixedAtBuild.common] gArmPlatformTokenSpaceGuid.PcdCoreCount|1 !if $(ARCH) == AARCH64 @@ -234,7 +237,9 @@ [Components.common] ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf ArmPkg/Drivers/CpuPei/CpuPei.inf + MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf MdeModulePkg/Universal/Variable/Pei/VariablePei.inf + MdeModulePkg/Universal/CapsulePei/CapsulePei.inf MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf { diff --git a/ArmVirtPkg/ArmVirtQemu.fdf b/ArmVirtPkg/ArmVirtQemu.fdf index c6a22dc018f3..28d10f2e85d6 100644 --- a/ArmVirtPkg/ArmVirtQemu.fdf +++ b/ArmVirtPkg/ArmVirtQemu.fdf @@ -108,7 +108,9 @@ [FV.FVMAIN_COMPACT] INF ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf INF ArmPkg/Drivers/CpuPei/CpuPei.inf INF MdeModulePkg/Universal/PCD/Pei/Pcd.inf + INF MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf + INF MdeModulePkg/Universal/CapsulePei/CapsulePei.inf INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf FILE FV_IMAGE = 9E21FD93-9C72-4c15-8C4B-E77F1DB2D792 { -- 2.7.4