From patchwork Thu Mar 2 16:15:05 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ard Biesheuvel X-Patchwork-Id: 94795 Delivered-To: patch@linaro.org Received: by 10.140.82.71 with SMTP id g65csp235468qgd; Thu, 2 Mar 2017 08:15:28 -0800 (PST) X-Received: by 10.84.194.129 with SMTP id h1mr19708696pld.56.1488471328291; Thu, 02 Mar 2017 08:15:28 -0800 (PST) Return-Path: Received: from ml01.01.org (ml01.01.org. [2001:19d0:306:5::1]) by mx.google.com with ESMTPS id 18si7828666pfa.133.2017.03.02.08.15.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 02 Mar 2017 08:15:28 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) client-ip=2001:19d0:306:5::1; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@linaro.org; spf=pass (google.com: best guess record for domain of edk2-devel-bounces@lists.01.org designates 2001:19d0:306:5::1 as permitted sender) smtp.mailfrom=edk2-devel-bounces@lists.01.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id BEDA9821FB; Thu, 2 Mar 2017 08:15:24 -0800 (PST) X-Original-To: edk2-devel@lists.01.org Delivered-To: edk2-devel@lists.01.org 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 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: [edk2] [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: , Cc: jiewen.yao@intel.com, Ard Biesheuvel MIME-Version: 1.0 Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" 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(-) -- 2.7.4 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel 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 {