edk2
edk2 copied to clipboard
OvmfPkg/RiscVVirt: Add support for Capsule Firmware Upgrade
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.
⚠ 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
PR can not be merged due to conflict. Please rebase and resubmit
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.
- [ ]
- [ ]
- [ ] all of: [📌 queue conditions of queue
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.