edk2 icon indicating copy to clipboard operation
edk2 copied to clipboard

OvmfPkg/RiscVVirt: Add support for Capsule Firmware Upgrade

Open pttuan opened this issue 7 months ago • 3 comments

Description

This patch series introduces capsule-based firmware upgrade support for the RISC-V Virt platform.

  • [X] Breaking change? Any platforms that use VirtNorFlashDxe driver need to include the new library instance.
  • [ ] Impacts security? N/A
  • [ ] Includes tests? N/A

How This Was Tested

How to generate capsule file - Change PcdFirmwareRevision to new version. - Build firmware with CAPSULE_ENABLE=TRUE. #build -D CAPSULE_ENABLE=TRUE ... - A capsule file RISCVVIRT.0.1.0.0.Cap and CapsuleApp.efi should be generated in Build/RiscVVirtQemu/Capsules

How to upgrade firmware using UEFI Shell - Copy CapsuleApp.efi and the .Cap file to a storage device. - Boot UEFI Shell and run. #CapsuleApp.efi RISCVVIRT.0.1.0.0.Cap #reset cold - After reset, go to UEFI Shell and run CapsuleApp.efi -E to verify the newest FW version.

Integration Instructions

Any platforms that use VirtNorFlashDxe driver need to include the new library instance.

pttuan avatar Apr 16 '25 21:04 pttuan

WARNING: Cannot add some reviewers: A user specified as a reviewer for this PR is not a collaborator of the repository. Please add them as a collaborator to the repository so they can be requested in the future.

Non-collaborators requested:

  • @bibo-mao
  • @lixianglai

Attn Admins:

  • @jljusten
  • @ardbiesheuvel
  • @lgao4
  • @mdkinney
  • @makubacki
  • @jkmathews
  • @miki-intel-work

Admin Instructions:

  • Add the non-collaborators as collaborators to the appropriate team(s) listed in teams
  • If they are no longer needed as reviewers, remove them from Maintainers.txt

test and review by [email protected] for loongarch

lixianglai avatar May 06 '25 06:05 lixianglai

PR can not be merged due to conflict. Please rebase and resubmit

mergify[bot] avatar Jun 19 '25 06:06 mergify[bot]

This pull request has been removed from the queue for the following reason: pull request dequeued.

Pull request #10975 has been dequeued. The pull request rule doesn't match anymore. The following conditions don't match anymore:

  • [ ] label=push
  • [ ] any of: [🔀 queue conditions]
    • [ ] all of: [📌 queue conditions of queue default]
      • [ ] label=push
      • [ ] any of: [🛡 GitHub branch protection]
        • [ ] check-neutral = ArmVirtPkg - Ubuntu GCC - PR
        • [ ] check-skipped = ArmVirtPkg - Ubuntu GCC - PR
        • [ ] check-success = ArmVirtPkg - Ubuntu GCC - PR
      • [ ] any of: [🛡 GitHub branch protection]
        • [ ] check-neutral = EmulatorPkg - Ubuntu GCC - PR
        • [ ] check-skipped = EmulatorPkg - Ubuntu GCC - PR
        • [ ] check-success = EmulatorPkg - Ubuntu GCC - PR
      • [ ] any of: [🛡 GitHub branch protection]
        • [ ] check-neutral = OvmfPkg - Ubuntu GCC - PR
        • [ ] check-skipped = OvmfPkg - Ubuntu GCC - PR
        • [ ] check-success = OvmfPkg - Ubuntu GCC - PR
      • [ ] any of: [🛡 GitHub branch protection]
        • [ ] check-neutral = OvmfPkg - Windows VS - PR
        • [ ] check-skipped = OvmfPkg - Windows VS - PR
        • [ ] check-success = OvmfPkg - Windows VS - PR
      • [ ] any of: [🛡 GitHub branch protection]
        • [ ] check-neutral = Windows VS - PR
        • [ ] check-skipped = Windows VS - PR
        • [ ] check-success = Windows VS - PR
      • [ ] any of: [🛡 GitHub branch protection]
        • [ ] check-neutral = Ubuntu GCC - PR
        • [ ] check-skipped = Ubuntu GCC - PR
        • [ ] check-success = Ubuntu GCC - PR.

You should look at the reason for the failure and decide if the pull request needs to be fixed or if you want to requeue it. If you do update this pull request, it will automatically be requeued once the queue conditions match again. If you think this was a flaky issue instead, you can requeue the pull request, without updating it, by posting a @mergifyio requeue comment.

mergify[bot] avatar Jun 25 '25 03:06 mergify[bot]