Improve capsule update progress bar#295
Merged
SergiiDmytruk merged 5 commits intocapsules-v2from Mar 1, 2026
Merged
Conversation
SergiiDmytruk
requested changes
Jan 31, 2026
Member
SergiiDmytruk
left a comment
There was a problem hiding this comment.
The new functionality should be guarded by a PCD (assuming that all blocks differ when it's off should be good enough). And coreboot should enable it, so likely the PRs need to be based on Dasharo/coreboot#836 and #294 as those two change how new capsule features are controlled.
d1114ea to
2759679
Compare
Member
Author
|
OK, marking as draft and addressing the review |
filipleple
commented
Feb 4, 2026
Member
Author
filipleple
left a comment
There was a problem hiding this comment.
Addressed the review
MdeModulePkg/Library/DisplayUpdateProgressLibGraphics/DisplayUpdateProgressLibGraphics.c
Outdated
Show resolved
Hide resolved
MdeModulePkg/Library/DisplayUpdateProgressLibGraphics/DisplayUpdateProgressLibGraphics.c
Show resolved
Hide resolved
f32e136 to
72960ed
Compare
MRC cache was being cleared on every capsule update, forcing a full
memory retraining cycle on the next boot. This is unnecessary because
the cache is versioned by FSP and will be invalidated automatically if
the FSP binary changes in the new firmware.
Migrate the {RECOVERY/RW}_MRC_CACHE FMAP regions the same way ROMHOLE,
BOOTSPLASH and SI_GBE are already handled. The region is not
offset-sensitive and its absence in either image is non-fatal.
Signed-off-by: Filip Lewinski <filip.lewinski@3mdeb.com>
…gress bar Update the progress bar upon each block being read, not only after reading the whole flash - and likewise for writing. This improves the UX in the sense that the progress bar starts moving at a steady pace right away, so that the update doesn't seem stuck. The smooth progress bar feature is gated by a PCD that can be passed by coreboot. It's autoenabled if CAPSULES_V2 is set. Signed-off-by: Filip Lewinski <filip.lewinski@3mdeb.com>
Improve the Capsule Update flow, so that if the `CONFIG_EDK2_GRAPHICAL_CAPSULE_PROGRESS` is set but no monitor is detected, the update doesn't fail but rather falls back to serial mode. Signed-off-by: Filip Lewinski <filip.lewinski@3mdeb.com>
d590860 to
847a160
Compare
The PCD flag has been obsoleted by recent changes that provide a fallback mechanism in the graphical path in case the GOP is not available (monitor is not plugged in) Signed-off-by: Filip Lewinski <filip.lewinski@3mdeb.com>
- Scale per-block write weight (UPDATE_BLOCK_WEIGHT * BlockCount /
DifferingBlocks) instead of shrinking TotalUnits; this keeps the
denominator stable so progress advances smoothly rather than jumping
when only a fraction of blocks differ
- Non-writeable differing blocks no longer advance CurrentUnits in
smooth mode; CountDifferingBlocks already excludes them, so adding
UPDATE_BLOCK_WEIGHT would overshoot TotalUnits
- CountDifferingBlocks: pass Image1 (current firmware) to
IsRangeWriteable, not Image2; write protection reflects the running
firmware's descriptor
- Fix debug message typo: MigrateMrcCache -> MigrateRecoveryMrcCache
Signed-off-by: Filip Lewinski <filip.lewinski@3mdeb.com>
SergiiDmytruk
approved these changes
Mar 1, 2026
This was referenced Mar 1, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
issue: Dasharo/dasharo-issues#1439
coreboot PR: Dasharo/coreboot#837
ref: DSH-1131