提交 3ac28b49 编写于 作者: V vit9696

OcConfigurationLib: Restore enabled and introduce LoadEarly

上级 83123452
......@@ -19,7 +19,7 @@ OpenCore Changelog
- Added emulated NVRAM driver for use separately from OpenDuet
- Added support for NVRAM reset and set default boot entry when using emulated NVRAM
- Upgraded emulated NVRAM logout script to allow unsupervised installation of recent macOS OTA updates
- Changed `Driver` -> `Enabled` [`true`|`false`] to `Driver` -> `Load` [`Early`|`Enabled`|`Disabled`] (requires config.plist update, see samples)
- Added `Driver` -> `LoadEarly` [`true`|`false`] for drivers loaded before NVRAM init
#### v0.8.2
- Fixed `AppleCpuPmCfgLock` on macOS 13
......
1f9840ee4372ca3f5cb49e0b4903e6bc
48864f3f23e51d68072501428f26c1f6
......@@ -7027,9 +7027,9 @@ Recommended configuration settings for this driver:
\begin{itemize}
\tightlist
\item \texttt{OpenVariableRuntimeDxe.efi} loaded using \texttt{Load=Early} (not required with OpenDuet).
\item \texttt{OpenVariableRuntimeDxe.efi} loaded using \texttt{LoadEarly=true} (not required with OpenDuet).
\item \texttt{OpenRuntime.efi} specified after \texttt{OpenVariableRuntimeDxe.efi} in the
\texttt{Drivers} list and loaded using \texttt{Load=Early} (not required with OpenDuet).
\texttt{Drivers} list and loaded using \texttt{LoadEarly=true} (not required with OpenDuet).
\item \texttt{LegacySchema} populated.
\item \texttt{ExposeSensitiveData} with at least bit \texttt{0x1} set to make \texttt{boot-path}
variable containing the OpenCore EFI partition UUID available to the \texttt{Launchd.command} script.
......@@ -7799,6 +7799,12 @@ for additional options.
\textbf{Description}: Arbitrary ASCII string used to provide human readable
reference for the entry. Whether this value is used is implementation defined.
\item
\texttt{Enabled}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
\textbf{Description}: If \texttt{false} this driver entry will be ignored.
\item
\texttt{Path}\\
\textbf{Type}: \texttt{plist\ string}\\
......@@ -7807,19 +7813,12 @@ for additional options.
from \texttt{OC/Drivers} directory.
\item
\texttt{Load}\\
\textbf{Type}: \texttt{plist\ string}\\
\textbf{Failsafe}: \texttt{Disabled}\\
\textbf{Description}: When and whether to load this driver.
\begin{itemize}
\tightlist
\item \texttt{Disabled} --- Do not load this driver.
\item \texttt{Enabled} --- Load the driver normally.
\item \texttt{Early} --- Load the driver early in the OpenCore boot process, before NVRAM setup.
\end{itemize}
\texttt{LoadEarly}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
\textbf{Description}: Load the driver early in the OpenCore boot process, before NVRAM setup.
\emph{Note}: Do not use the \texttt{Early} option unless specifically recommended to do so for a
\emph{Note}: Do not enable this option unless specifically recommended to do so for a
given driver and purpose.
\item
......
\documentclass[]{article}
%DIF LATEXDIFF DIFFERENCE FILE
%DIF DEL PreviousConfiguration.tex Wed Jul 27 21:20:07 2022
%DIF ADD ../Configuration.tex Thu Jul 28 00:20:39 2022
%DIF DEL PreviousConfiguration.tex Sun Jul 10 20:57:48 2022
%DIF ADD ../Configuration.tex Thu Jul 28 23:33:28 2022
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
......@@ -118,7 +118,7 @@
%DIF HYPERREF PREAMBLE %DIF PREAMBLE
\providecommand{\DIFadd}[1]{\texorpdfstring{\DIFaddtex{#1}}{#1}} %DIF PREAMBLE
\providecommand{\DIFdel}[1]{\texorpdfstring{\DIFdeltex{#1}}{}} %DIF PREAMBLE
%DIF COLORLISTINGS PREAMBLE %DIF PREAMBLE
%DIF LISTINGS PREAMBLE %DIF PREAMBLE
\RequirePackage{listings} %DIF PREAMBLE
\RequirePackage{color} %DIF PREAMBLE
\lstdefinelanguage{DIFcode}{ %DIF PREAMBLE
......@@ -7288,9 +7288,9 @@ protocol enabling the following:
\begin{itemize}
\tightlist
\item \texttt{\DIFadd{OpenVariableRuntimeDxe.efi}} \DIFadd{loaded using }\texttt{\DIFadd{Load=Early}} \DIFadd{(not required with OpenDuet).
\item \texttt{\DIFadd{OpenVariableRuntimeDxe.efi}} \DIFadd{loaded using }\texttt{\DIFadd{LoadEarly=true}} \DIFadd{(not required with OpenDuet).
}\item \texttt{\DIFadd{OpenRuntime.efi}} \DIFadd{specified after }\texttt{\DIFadd{OpenVariableRuntimeDxe.efi}} \DIFadd{in the
}\texttt{\DIFadd{Drivers}} \DIFadd{list and loaded using }\texttt{\DIFadd{Load=Early}} \DIFadd{(not required with OpenDuet).
}\texttt{\DIFadd{Drivers}} \DIFadd{list and loaded using }\texttt{\DIFadd{LoadEarly=true}} \DIFadd{(not required with OpenDuet).
}\item \texttt{\DIFadd{LegacySchema}} \DIFadd{populated.
}\item \texttt{\DIFadd{ExposeSensitiveData}} \DIFadd{with at least bit }\texttt{\DIFadd{0x1}} \DIFadd{set to make }\texttt{\DIFadd{boot-path}}
\DIFadd{variable containing the OpenCore EFI partition UUID available to the }\texttt{\DIFadd{Launchd.command}} \DIFadd{script.
......@@ -8074,28 +8074,28 @@ for additional options.
reference for the entry. Whether this value is used is implementation defined.
\item
\texttt{Path}\\
\DIFaddbegin \texttt{\DIFadd{Enabled}}\\
\textbf{\DIFadd{Type}}\DIFadd{: }\texttt{\DIFadd{plist\ boolean}}\\
\textbf{\DIFadd{Failsafe}}\DIFadd{: }\texttt{\DIFadd{false}}\\
\textbf{\DIFadd{Description}}\DIFadd{: If }\texttt{\DIFadd{false}} \DIFadd{this driver entry will be ignored.
}
\item
\DIFaddend \texttt{Path}\\
\textbf{Type}: \texttt{plist\ string}\\
\textbf{Failsafe}: Empty\\
\textbf{Description}: Path of file to be loaded as a UEFI driver
from \texttt{OC/Drivers} directory.
\item
\texttt{\DIFdelbegin \DIFdel{Enabled}\DIFdelend \DIFaddbegin \DIFadd{Load}\DIFaddend }\\
\textbf{Type}: \texttt{plist\ \DIFdelbegin \DIFdel{boolean}\DIFdelend \DIFaddbegin \DIFadd{string}\DIFaddend }\\
\textbf{Failsafe}: \texttt{\DIFdelbegin \DIFdel{false}\DIFdelend \DIFaddbegin \DIFadd{Disabled}\DIFaddend }\\
\texttt{\DIFdelbegin \DIFdel{Enabled}\DIFdelend \DIFaddbegin \DIFadd{LoadEarly}\DIFaddend }\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Failsafe}: \texttt{false}\\
\textbf{Description}: \DIFdelbegin \DIFdel{If }\texttt{\DIFdel{false}} %DIFAUXCMD
\DIFdel{this driverentry will be ignored}\DIFdelend \DIFaddbegin \DIFadd{When and whether to load this driver.
\DIFdel{this driver entry will be ignored}\DIFdelend \DIFaddbegin \DIFadd{Load the driver early in the OpenCore boot process, before NVRAM setup.
}
\begin{itemize}
\tightlist
\item \texttt{\DIFadd{Disabled}} \DIFadd{--- Do not load this driver.
}\item \texttt{\DIFadd{Enabled}} \DIFadd{--- Load the driver normally.
}\item \texttt{\DIFadd{Early}} \DIFadd{--- Load the driver early in the OpenCore boot process, before NVRAM setup.
}\end{itemize}
\emph{\DIFadd{Note}}\DIFadd{: Do not use the }\texttt{\DIFadd{Early}} \DIFadd{option unless specifically recommended to do so for a
\emph{\DIFadd{Note}}\DIFadd{: Do not enable this option unless specifically recommended to do so for a
given driver and purpose}\DIFaddend .
\item
......
......@@ -1418,8 +1418,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>OpenVariableRuntimeDxe.efi</string>
</dict>
......@@ -1428,8 +1430,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Enabled</string>
<key>Enabled</key>
<true/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>OpenRuntime.efi</string>
</dict>
......@@ -1438,8 +1442,10 @@
<string></string>
<key>Comment</key>
<string>HFS+ Driver</string>
<key>Load</key>
<string>Enabled</string>
<key>Enabled</key>
<true/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>HfsPlus.efi</string>
</dict>
......@@ -1448,8 +1454,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>OpenCanopy.efi</string>
</dict>
......@@ -1458,8 +1466,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>AudioDxe.efi</string>
</dict>
......@@ -1468,8 +1478,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>OpenPartitionDxe.efi</string>
</dict>
......@@ -1478,8 +1490,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>OpenUsbKbDxe.efi</string>
</dict>
......@@ -1488,8 +1502,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>UsbMouseDxe.efi</string>
</dict>
......@@ -1498,8 +1514,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>Ps2KeyboardDxe.efi</string>
</dict>
......@@ -1508,8 +1526,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>Ps2MouseDxe.efi</string>
</dict>
......@@ -1518,8 +1538,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>HiiDatabase.efi</string>
</dict>
......@@ -1528,8 +1550,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>NvmExpressDxe.efi</string>
</dict>
......@@ -1538,8 +1562,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>XhciDxe.efi</string>
</dict>
......@@ -1548,8 +1574,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>ExFatDxe.efi</string>
</dict>
......@@ -1558,8 +1586,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>CrScreenshotDxe.efi</string>
</dict>
......@@ -1568,18 +1598,22 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>ext4_x64.efi</string>
<string>Ext4Dxe.efi</string>
</dict>
<dict>
<key>Arguments</key>
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>OpenLinuxBoot.efi</string>
</dict>
......@@ -1588,8 +1622,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>ResetNvramEntry.efi</string>
</dict>
......@@ -1598,8 +1634,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>ToggleSipEntry.efi</string>
</dict>
......
......@@ -1786,8 +1786,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>OpenVariableRuntimeDxe.efi</string>
</dict>
......@@ -1796,8 +1798,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Enabled</string>
<key>Enabled</key>
<true/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>OpenRuntime.efi</string>
</dict>
......@@ -1806,8 +1810,10 @@
<string></string>
<key>Comment</key>
<string>HFS+ Driver</string>
<key>Load</key>
<string>Enabled</string>
<key>Enabled</key>
<true/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>HfsPlus.efi</string>
</dict>
......@@ -1816,8 +1822,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>OpenCanopy.efi</string>
</dict>
......@@ -1826,8 +1834,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>AudioDxe.efi</string>
</dict>
......@@ -1836,8 +1846,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>OpenPartitionDxe.efi</string>
</dict>
......@@ -1846,8 +1858,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>OpenUsbKbDxe.efi</string>
</dict>
......@@ -1856,8 +1870,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>UsbMouseDxe.efi</string>
</dict>
......@@ -1866,8 +1882,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>Ps2KeyboardDxe.efi</string>
</dict>
......@@ -1876,8 +1894,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>Ps2MouseDxe.efi</string>
</dict>
......@@ -1886,8 +1906,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>HiiDatabase.efi</string>
</dict>
......@@ -1896,8 +1918,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>NvmExpressDxe.efi</string>
</dict>
......@@ -1906,8 +1930,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>XhciDxe.efi</string>
</dict>
......@@ -1916,8 +1942,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>ExFatDxe.efi</string>
</dict>
......@@ -1926,8 +1954,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>CrScreenshotDxe.efi</string>
</dict>
......@@ -1936,18 +1966,22 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>ext4_x64.efi</string>
<string>Ext4Dxe.efi</string>
</dict>
<dict>
<key>Arguments</key>
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>OpenLinuxBoot.efi</string>
</dict>
......@@ -1956,8 +1990,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>ResetNvramEntry.efi</string>
</dict>
......@@ -1966,8 +2002,10 @@
<string></string>
<key>Comment</key>
<string></string>
<key>Load</key>
<string>Disabled</string>
<key>Enabled</key>
<false/>
<key>LoadEarly</key>
<false/>
<key>Path</key>
<string>ToggleSipEntry.efi</string>
</dict>
......
......@@ -607,7 +607,8 @@ OC_DECLARE (OC_PLATFORM_CONFIG)
#define OC_UEFI_DRIVER_ENTRY_FIELDS(_, __) \
_(OC_STRING , Arguments , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
_(OC_STRING , Comment , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) ) \
_(OC_STRING , Load , , OC_STRING_CONSTR ("Disabled", _, __) , OC_DESTR (OC_STRING) ) \
_(BOOLEAN , Enabled , , FALSE , ()) \
_(BOOLEAN , LoadEarly , , FALSE , ()) \
_(OC_STRING , Path , , OC_STRING_CONSTR ("", _, __) , OC_DESTR (OC_STRING) )
OC_DECLARE (OC_UEFI_DRIVER_ENTRY)
......
......@@ -696,10 +696,11 @@ OC_SCHEMA
STATIC
OC_SCHEMA
mUefiDriversSchemaEntry[] = {
OC_SCHEMA_STRING_IN ("Arguments", OC_UEFI_DRIVER_ENTRY, Arguments),
OC_SCHEMA_STRING_IN ("Comment", OC_UEFI_DRIVER_ENTRY, Comment),
OC_SCHEMA_STRING_IN ("Load", OC_UEFI_DRIVER_ENTRY, Load),
OC_SCHEMA_STRING_IN ("Path", OC_UEFI_DRIVER_ENTRY, Path),
OC_SCHEMA_STRING_IN ("Arguments", OC_UEFI_DRIVER_ENTRY, Arguments),
OC_SCHEMA_STRING_IN ("Comment", OC_UEFI_DRIVER_ENTRY, Comment),
OC_SCHEMA_BOOLEAN_IN ("Enabled", OC_UEFI_DRIVER_ENTRY, Enabled),
OC_SCHEMA_BOOLEAN_IN ("LoadEarly", OC_UEFI_DRIVER_ENTRY, LoadEarly),
OC_SCHEMA_STRING_IN ("Path", OC_UEFI_DRIVER_ENTRY, Path),
};
STATIC
......
......@@ -103,7 +103,6 @@ OcLoadDrivers (
BOOLEAN SkipDriver;
OC_UEFI_DRIVER_ENTRY *DriverEntry;
CONST CHAR8 *DriverComment;
CONST CHAR8 *DriverLoad;
CHAR8 *DriverFileName;
CONST CHAR8 *DriverArguments;
CONST CHAR8 *UnescapedArguments;
......@@ -120,18 +119,13 @@ OcLoadDrivers (
for (Index = 0; Index < Config->Uefi.Drivers.Count; ++Index) {
DriverEntry = Config->Uefi.Drivers.Values[Index];
DriverComment = OC_BLOB_GET (&DriverEntry->Comment);
DriverLoad = OC_BLOB_GET (&DriverEntry->Load);
DriverFileName = OC_BLOB_GET (&DriverEntry->Path);
DriverArguments = OC_BLOB_GET (&DriverEntry->Arguments);
SkipDriver = (
(DriverFileName == NULL)
SkipDriver = ( !DriverEntry->Enabled
|| (DriverFileName == NULL)
|| (DriverFileName[0] == '\0')
|| (
LoadEarly
? (AsciiStrCmp (DriverLoad, "Early") != 0)
: (AsciiStrCmp (DriverLoad, "Enabled") != 0)
)
|| (LoadEarly != DriverEntry->LoadEarly)
);
//
......
......@@ -142,8 +142,6 @@ CheckBooterQuirks (
UINT32 Index;
OC_UEFI_DRIVER_ENTRY *DriverEntry;
CONST CHAR8 *Driver;
CONST CHAR8 *Load;
BOOLEAN IsDriverLoaded;
UINT8 MaxSlide;
BOOLEAN IsAllowRelocationBlockEnabled;
BOOLEAN IsProvideCustomSlideEnabled;
......@@ -166,19 +164,11 @@ CheckBooterQuirks (
for (Index = 0; Index < Config->Uefi.Drivers.Count; ++Index) {
DriverEntry = Config->Uefi.Drivers.Values[Index];
Driver = OC_BLOB_GET (&DriverEntry->Path);
Load = OC_BLOB_GET (&DriverEntry->Load);
IsDriverLoaded = (AsciiStrCmp (Load, "Early") == 0) || (AsciiStrCmp (Load, "Enabled") == 0);
//
// Skip sanitising UEFI->Drivers as it will be performed when checking UEFI section.
//
if (!IsDriverLoaded && !(AsciiStrCmp (Load, "Disabled") == 0)) {
DEBUG ((DEBUG_WARN, "UEFI->Drivers[%d]->Load is borked (Can only be Early, Enabled, or Disabled)!\n", Index));
++ErrorCount;
}
if (IsDriverLoaded && (AsciiStrCmp (Driver, "OpenRuntime.efi") == 0)) {
if (DriverEntry->Enabled && (AsciiStrCmp (Driver, "OpenRuntime.efi") == 0)) {
HasOpenRuntimeEfiDriver = TRUE;
}
}
......
......@@ -191,8 +191,6 @@ CheckMiscBoot (
UINT32 Index;
OC_UEFI_DRIVER_ENTRY *DriverEntry;
CONST CHAR8 *Driver;
CONST CHAR8 *Load;
BOOLEAN IsDriverLoaded;
BOOLEAN HasOpenCanopyEfiDriver;
CONST CHAR8 *PickerMode;
CONST CHAR8 *PickerVariant;
......@@ -231,10 +229,8 @@ CheckMiscBoot (
for (Index = 0; Index < Config->Uefi.Drivers.Count; ++Index) {
DriverEntry = Config->Uefi.Drivers.Values[Index];
Driver = OC_BLOB_GET (&DriverEntry->Path);
Load = OC_BLOB_GET (&DriverEntry->Load);
IsDriverLoaded = (AsciiStrCmp (Load, "Early") == 0) || (AsciiStrCmp (Load, "Enabled") == 0);
if (IsDriverLoaded && (AsciiStrCmp (Driver, "OpenCanopy.efi") == 0)) {
if (DriverEntry->Enabled && (AsciiStrCmp (Driver, "OpenCanopy.efi") == 0)) {
HasOpenCanopyEfiDriver = TRUE;
}
}
......
......@@ -299,8 +299,6 @@ CheckUefiDrivers (
OC_UEFI_DRIVER_ENTRY *DriverEntry;
CONST CHAR8 *Comment;
CONST CHAR8 *Driver;
CONST CHAR8 *Load;
BOOLEAN IsDriverLoaded;
UINTN DriverSumSize;
BOOLEAN HasOpenRuntimeEfiDriver;
BOOLEAN HasOpenUsbKbDxeEfiDriver;
......@@ -330,8 +328,6 @@ CheckUefiDrivers (
DriverEntry = Config->Uefi.Drivers.Values[Index];
Comment = OC_BLOB_GET (&DriverEntry->Comment);
Driver = OC_BLOB_GET (&DriverEntry->Path);
Load = OC_BLOB_GET (&DriverEntry->Load);
IsDriverLoaded = (AsciiStrCmp (Load, "Early") == 0) || (AsciiStrCmp (Load, "Enabled") == 0);
//
// Check the length of path relative to OC directory.
......@@ -361,7 +357,7 @@ CheckUefiDrivers (
continue;
}
if (!IsDriverLoaded) {
if (!DriverEntry->Enabled) {
continue;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册