Skip to content

Commit

Permalink
OpenCoreNvram: Fixed warnings for empty variables (e.g. rtc-blacklist)
Browse files Browse the repository at this point in the history
  • Loading branch information
vit9696 committed May 9, 2020
1 parent 39d90e7 commit 36a1549
Show file tree
Hide file tree
Showing 6 changed files with 95 additions and 70 deletions.
1 change: 1 addition & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ OpenCore Changelog
- Changed NVRAM reset not to erase `BootProtect` boot options
- Improved boot performance when picker UI is disabled
- Enforced the use of builtin picker when external fails
- Fixed warnings for empty NVRAM variables (e.g. rtc-blacklist)

#### v0.5.8
- Fixed invalid CPU object reference in SSDT-PLUG
Expand Down
Binary file modified Docs/Configuration.pdf
Binary file not shown.
55 changes: 27 additions & 28 deletions Docs/Configuration.tex
Original file line number Diff line number Diff line change
Expand Up @@ -464,58 +464,57 @@ \subsection{Directory Structure}\label{directory-structure}
\begin{itemize}
\tightlist
\item
\texttt{BOOTx64.efi}
\break
Initial booter, which loads \texttt{OpenCore.efi} unless it was
already started as a driver.
\item
\texttt{ACPI}
\break
\texttt{BOOTx64.efi} and \texttt{Bootstrap.efi} \\
Initial bootstrap loaders, which loads \texttt{OpenCore.efi} unless it was
already started as a driver. \texttt{BOOTx64.efi} is loaded by the firmware
by default according to UEFI specification, and \texttt{Bootstrap.efi} can
be registered as a custom option to let OpenCore coexist with operating systems
using \texttt{BOOTx64.efi} as their own loaders (e.g. Windows), see
\texttt{BootProtect} for more details.
\item
\texttt{boot} \\
Duet bootstrap loader, which initialises UEFI environment on legacy BIOS firmwares
and loads \texttt{OpenCore.efi} similarly to other bootstrap loaders. Modern Duet
bootstrap loader will default to \texttt{OpenCore.efi} on the same partition when
present.
\item
\texttt{ACPI} \\
Directory used for storing supplemental ACPI information
for \hyperref[acpi]{\texttt{ACPI}} section.
\item
\texttt{Drivers}
\break
\texttt{Drivers} \\
Directory used for storing supplemental \texttt{UEFI}
drivers for \hyperref[uefi]{\texttt{UEFI}} section.
\item
\texttt{Kexts}
\break
\texttt{Kexts} \\
Directory used for storing supplemental kernel information
for \hyperref[kernel]{\texttt{Kernel}} section.
\item
\texttt{Resources}
\break
\texttt{Resources} \\
Directory used for storing media resources, such as audio files
for screen reader support. See \hyperref[uefiaudioprops]{\texttt{UEFI Audio Properties}}
section for more details.
section for more details. This directory also contains image files
for graphical user interface. See \hyperref[ueficanopy]{OpenCanopy} section for more details.
\item
\texttt{Tools}
\break
\texttt{Tools} \\
Directory used for storing supplemental tools.
\item
\texttt{OpenCore.efi}
\break
\texttt{OpenCore.efi} \\
Main booter driver responsible for operating system loading.
\item
\texttt{vault.plist}
\break
\texttt{vault.plist} \\
Hashes for all files potentially loadable by \texttt{OC Config}.
\item
\texttt{config.plist}
\break
\texttt{config.plist} \\
\texttt{OC Config}.
\item
\texttt{vault.sig}
\break
\texttt{vault.sig} \\
Signature for \texttt{vault.plist}.
\item
\texttt{nvram.plist}
\break
\texttt{nvram.plist} \\
OpenCore variable import file.
\item
\texttt{opencore-YYYY-MM-DD-HHMMSS.txt}
\break
\texttt{opencore-YYYY-MM-DD-HHMMSS.txt} \\
OpenCore log file.
\end{itemize}

Expand Down
Binary file modified Docs/Differences/Differences.pdf
Binary file not shown.
107 changes: 65 additions & 42 deletions Docs/Differences/Differences.tex
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
\documentclass[]{article}
%DIF LATEXDIFF DIFFERENCE FILE
%DIF DEL PreviousConfiguration.tex Fri May 8 00:31:52 2020
%DIF ADD ../Configuration.tex Fri May 8 00:36:52 2020
%DIF DEL PreviousConfiguration.tex Mon May 4 15:42:50 2020
%DIF ADD ../Configuration.tex Sat May 9 14:02:30 2020

\usepackage{lmodern}
\usepackage{amssymb,amsmath}
Expand Down Expand Up @@ -597,59 +597,82 @@ \subsection{Directory Structure}\label{directory-structure}
\begin{itemize}
\tightlist
\item
\texttt{BOOTx64.efi}
\break
Initial booter, which loads \texttt{OpenCore.efi} unless it was
already started as a driver.
\item
\texttt{ACPI}
\break
Directory used for storing supplemental ACPI information
\texttt{BOOTx64.efi} \DIFdelbegin %DIFDELCMD < \break
%DIFDELCMD < %%%
\DIFdel{Initial booter}\DIFdelend \DIFaddbegin \DIFadd{and }\texttt{\DIFadd{Bootstrap.efi}} \\
\DIFadd{Initial bootstrap loaders}\DIFaddend , which loads \texttt{OpenCore.efi} unless it was
already started as a driver. \DIFaddbegin \texttt{\DIFadd{BOOTx64.efi}} \DIFadd{is loaded by the firmware
by default according to UEFI specification, and }\texttt{\DIFadd{Bootstrap.efi}} \DIFadd{can
be registered as a custom option to let OpenCore coexist with operating systems
using }\texttt{\DIFadd{BOOTx64.efi}} \DIFadd{as their own loaders (e.g. Windows), see
}\texttt{\DIFadd{BootProtect}} \DIFadd{for more details.
}\DIFaddend \item
\DIFaddbegin \texttt{\DIFadd{boot}} \\
\DIFadd{Duet bootstrap loader, which initialises UEFI environment on legacy BIOS firmwares
and loads }\texttt{\DIFadd{OpenCore.efi}} \DIFadd{similarly to other bootstrap loaders. Modern Duet
bootstrap loader will default to }\texttt{\DIFadd{OpenCore.efi}} \DIFadd{on the same partition when
present.
}\item
\DIFaddend \texttt{ACPI} \DIFdelbegin %DIFDELCMD < \break
%DIFDELCMD < %%%
\DIFdelend \DIFaddbegin \\
\DIFaddend Directory used for storing supplemental ACPI information
for \hyperref[acpi]{\texttt{ACPI}} section.
\item
\texttt{Drivers}
\break
Directory used for storing supplemental \texttt{UEFI}
\texttt{Drivers} \DIFdelbegin %DIFDELCMD < \break
%DIFDELCMD < %%%
\DIFdelend \DIFaddbegin \\
\DIFaddend Directory used for storing supplemental \texttt{UEFI}
drivers for \hyperref[uefi]{\texttt{UEFI}} section.
\item
\texttt{Kexts}
\break
Directory used for storing supplemental kernel information
\texttt{Kexts} \DIFdelbegin %DIFDELCMD < \break
%DIFDELCMD < %%%
\DIFdelend \DIFaddbegin \\
\DIFaddend Directory used for storing supplemental kernel information
for \hyperref[kernel]{\texttt{Kernel}} section.
\item
\texttt{Resources}
\break
Directory used for storing media resources, such as audio files
\texttt{Resources} \DIFdelbegin %DIFDELCMD < \break
%DIFDELCMD < %%%
\DIFdelend \DIFaddbegin \\
\DIFaddend Directory used for storing media resources, such as audio files
for screen reader support. See \hyperref[uefiaudioprops]{\texttt{UEFI Audio Properties}}
section for more details.
\item
\texttt{Tools}
\break
Directory used for storing supplemental tools.
section for more details. \DIFaddbegin \DIFadd{This directory also contains image files
for graphical user interface. See }\hyperref[ueficanopy]{OpenCanopy} \DIFadd{section for more details.
}\DIFaddend \item
\texttt{Tools} \DIFdelbegin %DIFDELCMD < \break
%DIFDELCMD < %%%
\DIFdelend \DIFaddbegin \\
\DIFaddend Directory used for storing supplemental tools.
\item
\texttt{OpenCore.efi}
\break
Main booter driver responsible for operating system loading.
\texttt{OpenCore.efi} \DIFdelbegin %DIFDELCMD < \break
%DIFDELCMD < %%%
\DIFdelend \DIFaddbegin \\
\DIFaddend Main booter driver responsible for operating system loading.
\item
\texttt{vault.plist}
\break
Hashes for all files potentially loadable by \texttt{OC Config}.
\texttt{vault.plist} \DIFdelbegin %DIFDELCMD < \break
%DIFDELCMD < %%%
\DIFdelend \DIFaddbegin \\
\DIFaddend Hashes for all files potentially loadable by \texttt{OC Config}.
\item
\texttt{config.plist}
\break
\texttt{OC Config}.
\texttt{config.plist} \DIFdelbegin %DIFDELCMD < \break
%DIFDELCMD < %%%
\DIFdelend \DIFaddbegin \\
\DIFaddend \texttt{OC Config}.
\item
\texttt{vault.sig}
\break
Signature for \texttt{vault.plist}.
\texttt{vault.sig} \DIFdelbegin %DIFDELCMD < \break
%DIFDELCMD < %%%
\DIFdelend \DIFaddbegin \\
\DIFaddend Signature for \texttt{vault.plist}.
\item
\texttt{nvram.plist}
\break
OpenCore variable import file.
\texttt{nvram.plist} \DIFdelbegin %DIFDELCMD < \break
%DIFDELCMD < %%%
\DIFdelend \DIFaddbegin \\
\DIFaddend OpenCore variable import file.
\item
\texttt{opencore-YYYY-MM-DD-HHMMSS.txt}
\break
OpenCore log file.
\texttt{opencore-YYYY-MM-DD-HHMMSS.txt} \DIFdelbegin %DIFDELCMD < \break
%DIFDELCMD < %%%
\DIFdelend \DIFaddbegin \\
\DIFaddend OpenCore log file.
\end{itemize}

\emph{Note}: It is not guaranteed that paths longer than
Expand Down
2 changes: 2 additions & 0 deletions Platform/OpenCore/OpenCoreNvram.c
Original file line number Diff line number Diff line change
Expand Up @@ -412,6 +412,8 @@ OcBlockNvram (
SameContents = CurrentValueSize == VariableMap->Values[AddVariableIndex]->Size
&& CompareMem (OC_BLOB_GET (VariableMap->Values[AddVariableIndex]), CurrentValue, CurrentValueSize) == 0;
FreePool (CurrentValue);
} else if (Status == EFI_NOT_FOUND && VariableMap->Values[AddVariableIndex]->Size == 0) {
SameContents = TRUE;
} else {
SameContents = FALSE;
}
Expand Down

0 comments on commit 36a1549

Please sign in to comment.