That is loading and processing on-disk capsules during the same boot
without relocating the capsules to a dedicated non-volatile storage on
ESP or loading them as in-RAM capsules and then rebooting.
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
Hightlighting empty strings or strings containing a single SPACE character
resulted in drawing a confusing single-character-wide black rectangle.
Skip highlighting those mepty strings. it may be useful in forms where
no entry should be highlighted by default. It can be done by defining
a text field with empty prompt and help string as first menu entry.
Signed-off-by: Michał Żygowski <michal.zygowski@3mdeb.com>
HAP-disabled ME doesn't do anything, including writing to system flash,
which is what we need for a firmware update that relies on a warm reset.
coreboot assumes that HECI/soft-disabled state of ME isn't as good as
HMRFPO and switches to HMRFPO doing a global reset which loses in-RAM
capsules.
Checking variable's value should be enough, if somebody manually set it to
an invalid value, the update there will be a reboot without a capsule
update. A more reliable solution would be to pass this information from
coreboot.
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
This should ensure that various protection mechanisms are off and won't
get in the way of firmware flashing.
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
Don't know why EDK never sets this bit (there is only definition with no
uses), maybe nothing actually checks its value. Whatever the reason is,
it seems like a good idea to make setting it possible.
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
Set the browser action scope to system level to make the F9 (Reset to
defaults) hotkey work globally.
TEST=Boot on NovaCustom NV4x TGL, change some options in Dasharo System
Features and Boot Maintenance Manager, then go to the User Password
Management form and press F9 to reset to defaults. Verify that changes
in Dasharo System Features and Boot Maintenance Manager are reverted.
Signed-off-by: Michał Kopeć <michal.kopec@3mdeb.com>
MdeModulePkg changes
--------------------
Allow reusing functions by other packages, specifically by
DasharoPayloadPkg.
* Move GetStringWidth() to CustomizedDisplayLib.
* Move CreateMultiStringPopUp() to CustomizedDisplayLib
CreateSharedPopUp() is an implementation of it and is moved as well
(not used for anything else).
DasharoPayloadPkg changes
----------------------
Parse coreboot information about recovery boot and display a dialog
using functions moved to CustomizedDisplayLib library of MdeModulePkg.
* Add ParseVBootWorkbuf() function
Extracts information about vboot recovery from coreboot table.
Ignore minor version of cb_vboot_workbuf_v2 while parsing because it
doesn't seem to affect data layout and therefore shouldn't be the
reason for aborting parsing of the structure.
* Inform user via popup if in recovery boot.
The popup explains what happened along with possible reasons.
It disappears automatically after a timeout of 30 seconds or
when user presses Enter.
Signed-off-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
Remove efivarstore IFR buffer error when string load default.
In the case of varstore type IFR, it will be NULL,
just break into next opcode process.
Resolve issue from commit cbe8a09dba
varstore type IFR string might return status error
while execute ExtractConfig function.
Signed-off-by: Longhao Lee <longhaox.lee@intel.com>
This commit oves StackCheckLib from a NULL lib to an instance of
StackCheckLib. This requires every entry point to add a library
dependency on StackCheckLib. It also requires every SEC module
to have a dependency on StackCheckLib because there is no
standard SEC entry point.
It allows for greater flexibility for a platform to apply stack
cookies and simplifies DSC logic.
Continuous-integration-options: PatchCheck.ignore-multi-package
Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
When PcdBrowserGrayOutTextStatement is TRUE, TextOpCode will be GrayOut.
HealthStatus cannot be displayed in help area, use TextTwo to display it.
Signed-off-by: Yang Gang <yanggang@byosoft.com.cn>
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4874
Question CheckBox, OneOf and Numeric can refer to Bit EFI VarStore.
CheckBox: data type is Boolean (1 byte),
Numeric/Oneof: data type is always UNIT32 for BIT VarStore,
When get default value for BIT VarStore, should return default value
with sizeof (UINT32) rather than the byte the bit width occupied.
Or incorrect default value will be used due to the size mismatch.
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
storage data format
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4857
NVS needs to support both authenticated and non-authenticated
header for NV region. PcdNvStoreDefaultValueBuffer can have
variables with data format of the type Authenticated variable storage
and this change provides the support to differentiate between
the normal variable storage and authenticated variable storage
for the hii database to consume and update the setup variables
accordingly
Signed-off-by: nikhil p sheshagiri <nikhil.p.sheshagiri@intel.com>