提交 707f101e 编写于 作者: V vit9696

OcConfigurationLib: Add support for RequestBootVarFallback quirk

上级 73bc29b7
......@@ -32,6 +32,13 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
//
#define OC_BOOT_REDIRECT_VARIABLE_NAME L"boot-redirect"
//
// Variable used for OpenCore request to fallback NVRAM Boot variable write.
// Serves for resolving issues with borked ASUS APTIO V BIOSes.
// Boot Services only.
//
#define OC_BOOT_FALLBACK_VARIABLE_NAME L"boot-fallback"
//
// Variable used for exposing OpenCore Security -> LoadPolicy.
// Boot Services only.
......
......@@ -487,6 +487,7 @@ OC_DECLARE (OC_UEFI_INPUT)
_(BOOLEAN , IgnoreInvalidFlexRatio , , FALSE , ()) \
_(BOOLEAN , IgnoreTextInGraphics , , FALSE , ()) \
_(BOOLEAN , ReleaseUsbOwnership , , FALSE , ()) \
_(BOOLEAN , RequestBootVarFallback , , FALSE , ()) \
_(BOOLEAN , RequestBootVarRouting , , FALSE , ()) \
_(BOOLEAN , ReconnectOnResChange , , FALSE , ()) \
_(BOOLEAN , ProvideConsoleGop , , FALSE , ()) \
......
......@@ -334,6 +334,18 @@ OcStartImage (
&Config.BootVariableRedirect
);
//
// Do the same thing for Boot#### variable fallback.
//
DataSize = sizeof (Config.BootVariableFallback);
BootCompat->ServicePtrs.GetVariable (
OC_BOOT_FALLBACK_VARIABLE_NAME,
&gOcVendorVariableGuid,
NULL,
&DataSize,
&Config.BootVariableFallback
);
//
// Enable Apple-specific changes if requested.
// Disable them when this is no longer Apple.
......
......@@ -81,6 +81,7 @@ IsDeletableVariable (
// Do not remove OpenCore critical variables.
//
if (StrCmp (Name, OC_BOOT_REDIRECT_VARIABLE_NAME) != 0
&& StrCmp (Name, OC_BOOT_FALLBACK_VARIABLE_NAME) != 0
&& StrCmp (Name, OC_LOAD_POLICY_VARIABLE_NAME) != 0
&& StrCmp (Name, OC_SCAN_POLICY_VARIABLE_NAME) != 0) {
return TRUE;
......
......@@ -519,6 +519,7 @@ mUefiQuirksSchema[] = {
OC_SCHEMA_BOOLEAN_IN ("ReconnectOnResChange", OC_GLOBAL_CONFIG, Uefi.Quirks.ReconnectOnResChange),
OC_SCHEMA_BOOLEAN_IN ("ReleaseUsbOwnership", OC_GLOBAL_CONFIG, Uefi.Quirks.ReleaseUsbOwnership),
OC_SCHEMA_BOOLEAN_IN ("ReplaceTabWithSpace", OC_GLOBAL_CONFIG, Uefi.Quirks.ReplaceTabWithSpace),
OC_SCHEMA_BOOLEAN_IN ("RequestBootVarFallback", OC_GLOBAL_CONFIG, Uefi.Quirks.RequestBootVarFallback),
OC_SCHEMA_BOOLEAN_IN ("RequestBootVarRouting", OC_GLOBAL_CONFIG, Uefi.Quirks.RequestBootVarRouting),
OC_SCHEMA_BOOLEAN_IN ("SanitiseClearScreen", OC_GLOBAL_CONFIG, Uefi.Quirks.SanitiseClearScreen),
OC_SCHEMA_BOOLEAN_IN ("UnblockFsConnect", OC_GLOBAL_CONFIG, Uefi.Quirks.UnblockFsConnect)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册