提交 ef90ffac 编写于 作者: V vit9696

OpenCorePlatform: Replace SMBIOS Auto update with with TryOverwrite and Default to Create

Also includes docs updates for IntelFramework removal
上级 10b4b710
......@@ -508,7 +508,6 @@ Add \texttt{.clang\_complete} file with similar content to your UDK root:
-I/UefiPackages/AppleSupportPkg/Include
-I/UefiPackages/OpenCorePkg/Include
-I/UefiPackages/OcSupportPkg/Include
-I/UefiPackages/IntelFrameworkPkg/Include
-I/UefiPackages/MacInfoPkg/Include
-IInclude
-include
......@@ -1862,7 +1861,7 @@ are written to three select destinations:
\item
\href{https://www.dmtf.org/standards/smbios}{SMBIOS}
\item
\href{https://github.com/freebsd/uefi-edk2/blob/master/IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.uni}{Data
\href{https://github.com/acidanthera/EfiPkg/blob/master/Include/Protocol/DataHub.h}{Data
Hub}
\item
NVRAM
......@@ -1923,15 +1922,15 @@ for system configuration.
\item
\texttt{UpdateSMBIOSMode}\\
\textbf{Type}: \texttt{plist\ string}\\
\textbf{Default value}: \texttt{Auto}\\
\textbf{Default value}: \texttt{Create}\\
\textbf{Description}: Update SMBIOS fields approach:
\begin{itemize}
\tightlist
\item
\texttt{Auto} --- \texttt{Overwrite} if new size is \textless{}= than
\texttt{TryOverwrite} --- \texttt{Overwrite} if new size is \textless{}= than
the page-aligned original and there are no issues with legacy region
unlock. \texttt{Create} otherwise.
unlock. \texttt{Create} otherwise. Has issues with some firmwares.
\item
\texttt{Create} --- Replace the tables with newly allocated
EfiReservedMemoryType at AllocateMaxAddress without any fallbacks.
......@@ -2528,9 +2527,6 @@ tweaks for the onboard firmware.
are hibernation support, KASLR, Lilu NVRAM security enhancements, NVRAM, and UEFI
Boot entry preservation.
\item \href{https://github.com/tianocore/edk2/tree/UDK2018}{\texttt{DataHubDxe}}
--- Intel DataHub driver from \texttt{IntelFrameworkModulePkg}. It is believed
that this driver is included in all UEFI firmwares, and is not required.
\item \href{https://github.com/tianocore/edk2/tree/UDK2018}{\texttt{EmuVariableRuntimeDxe}}
--- NVRAM emulation driver from \texttt{MdeModulePkg}. NVRAM is supported by most
modern firmwares. For firmwares with macOS incompatible NVRAM implementation an
emulated driver may be used. This driver will not preserve NVRAM contents across the
......@@ -2580,7 +2576,6 @@ source edksetup.sh
make -C BaseTools
build -a X64 -b RELEASE -t XCODE5 -p FatPkg/FatPkg.dsc
build -a X64 -b RELEASE -t XCODE5 -p MdeModulePkg/MdeModulePkg.dsc
build -a X64 -b RELEASE -t XCODE5 -p IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
\end{lstlisting}
\item
......
\documentclass[]{article}
%DIF LATEXDIFF DIFFERENCE FILE
%DIF DEL PreviousConfiguration.tex Fri May 3 12:13:06 2019
%DIF ADD ../Configuration.tex Fri May 10 14:58:12 2019
%DIF ADD ../Configuration.tex Mon May 13 22:08:08 2019
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
......@@ -576,7 +576,8 @@ approach could be \href{https://www.sublimetext.com}{Sublime Text} with
\href{https://niosus.github.io/EasyClangComplete}{EasyClangComplete} plugin.
Add \texttt{.clang\_complete} file with similar content to your UDK root:
\begin{lstlisting}[caption=ECC Configuration, label=eccfile, style=ocbash]
\DIFmodbegin
\begin{lstlisting}[caption=ECC Configuration, label=eccfile, style=ocbash,alsolanguage=DIFcode]
-I/UefiPackages/MdePkg
-I/UefiPackages/MdePkg/Include
-I/UefiPackages/MdePkg/Include/X64
......@@ -587,7 +588,7 @@ Add \texttt{.clang\_complete} file with similar content to your UDK root:
-I/UefiPackages/AppleSupportPkg/Include
-I/UefiPackages/OpenCorePkg/Include
-I/UefiPackages/OcSupportPkg/Include
-I/UefiPackages/IntelFrameworkPkg/Include
%DIF < -I/UefiPackages/IntelFrameworkPkg/Include
-I/UefiPackages/MacInfoPkg/Include
-IInclude
-include
......@@ -603,6 +604,7 @@ Add \texttt{.clang\_complete} file with similar content to your UDK root:
-Wno-varargs
-Wno-unused-const-variable
\end{lstlisting}
\DIFmodend
\textbf{Warning}: Tool developers modifying \texttt{config.plist} or any other OpenCore
files must ensure that their tool checks for \texttt{opencore-version} NVRAM variable
......@@ -2018,9 +2020,12 @@ are written to three select destinations:
\item
\href{https://www.dmtf.org/standards/smbios}{SMBIOS}
\item
\href{https://github.com/freebsd/uefi-edk2/blob/master/IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.uni}{Data
\DIFdelbegin %DIFDELCMD < \href{https://github.com/freebsd/uefi-edk2/blob/master/IntelFrameworkModulePkg/Universal/DataHubDxe/DataHubDxe.uni}{Data
%DIFDELCMD < Hub}
%DIFDELCMD < %%%
\DIFdelend \DIFaddbegin \href{https://github.com/acidanthera/EfiPkg/blob/master/Include/Protocol/DataHub.h}{Data
Hub}
\item
\DIFaddend \item
NVRAM
\end{itemize}
......@@ -2079,16 +2084,16 @@ for system configuration.
\item
\texttt{UpdateSMBIOSMode}\\
\textbf{Type}: \texttt{plist\ string}\\
\textbf{Default value}: \texttt{Auto}\\
\textbf{Default value}: \texttt{\DIFdelbegin \DIFdel{Auto}\DIFdelend \DIFaddbegin \DIFadd{Create}\DIFaddend }\\
\textbf{Description}: Update SMBIOS fields approach:
\begin{itemize}
\tightlist
\item
\texttt{Auto} --- \texttt{Overwrite} if new size is \textless{}= than
\texttt{\DIFdelbegin \DIFdel{Auto}\DIFdelend \DIFaddbegin \DIFadd{TryOverwrite}\DIFaddend } --- \texttt{Overwrite} if new size is \textless{}= than
the page-aligned original and there are no issues with legacy region
unlock. \texttt{Create} otherwise.
\item
unlock. \texttt{Create} otherwise. \DIFaddbegin \DIFadd{Has issues with some firmwares.
}\DIFaddend \item
\texttt{Create} --- Replace the tables with newly allocated
EfiReservedMemoryType at AllocateMaxAddress without any fallbacks.
\item
......@@ -2685,10 +2690,13 @@ tweaks for the onboard firmware.
are hibernation support, KASLR, Lilu NVRAM security enhancements, NVRAM, and UEFI
Boot entry preservation.
\item \href{https://github.com/tianocore/edk2/tree/UDK2018}{\texttt{DataHubDxe}}
--- Intel DataHub driver from \texttt{IntelFrameworkModulePkg}. It is believed
--- \DIFdelbegin \DIFdel{Intel DataHub driver from }\texttt{\DIFdel{IntelFrameworkModulePkg}}%DIFAUXCMD
\DIFdel{. It is believed
that this driver is included in all UEFI firmwares, and is not required.
\item \href{https://github.com/tianocore/edk2/tree/UDK2018}{\texttt{EmuVariableRuntimeDxe}}
--- NVRAM emulation driver from \texttt{MdeModulePkg}. NVRAM is supported by most
}%DIFDELCMD < \item \href{https://github.com/tianocore/edk2/tree/UDK2018}{\texttt{EmuVariableRuntimeDxe}}
\item%DIFAUXCMD
%DIFDELCMD < %%%
\DIFdel{--- }\DIFdelend NVRAM emulation driver from \texttt{MdeModulePkg}. NVRAM is supported by most
modern firmwares. For firmwares with macOS incompatible NVRAM implementation an
emulated driver may be used. This driver will not preserve NVRAM contents across the
reboots.
......@@ -2721,24 +2729,26 @@ tweaks for the onboard firmware.
--- HFS file system driver with bless support. This driver is an alternative to
a closed source \texttt{HFSPlus} driver commonly found in Apple firmwares. While
it is feature complete, it is approximately 3~times slower and is yet to undergo
a security audit\DIFaddbegin \DIFadd{.
}\item \href{https://github.com/tianocore/edk2/tree/UDK2018}{\texttt{XhciDxe}}
a security audit.
\DIFaddbegin \item \href{https://github.com/tianocore/edk2/tree/UDK2018}{\texttt{XhciDxe}}
\DIFadd{--- XHCI USB controller support driver from }\texttt{\DIFadd{MdeModulePkg}}\DIFadd{. This driver is
included in most firmwares starting with Sandy Bridge generation. For earlier firmwares
or legacy systems it may be used to support external USB 3.0 PCI cards}\DIFaddend .
\end{itemize}
or legacy systems it may be used to support external USB 3.0 PCI cards.
}\DIFaddend \end{itemize}
To compile the drivers from TianoCore UDK use the same command you do normally use
for OpenCore compilation, but choose a corresponding package:
\begin{lstlisting}[label=compileudk, style=ocbash]
\DIFmodbegin
\begin{lstlisting}[label=compileudk, style=ocbash,alsolanguage=DIFcode]
git clone https://github.com/tianocore/edk2 -b UDK2018 UDK
cd UDK
source edksetup.sh
make -C BaseTools
build -a X64 -b RELEASE -t XCODE5 -p FatPkg/FatPkg.dsc
build -a X64 -b RELEASE -t XCODE5 -p MdeModulePkg/MdeModulePkg.dsc
build -a X64 -b RELEASE -t XCODE5 -p IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
%DIF < build -a X64 -b RELEASE -t XCODE5 -p IntelFrameworkModulePkg/IntelFrameworkModulePkg.dsc
\end{lstlisting}
\DIFmodend
\item
\texttt{Protocols}\\
......
......@@ -478,7 +478,7 @@
<key>UpdateSMBIOS</key>
<true/>
<key>UpdateSMBIOSMode</key>
<string>Auto</string>
<string>Create</string>
</dict>
<key>UEFI</key>
<dict>
......
......@@ -579,7 +579,7 @@
<key>UpdateSMBIOS</key>
<true/>
<key>UpdateSMBIOSMode</key>
<string>Auto</string>
<string>Create</string>
</dict>
<key>UEFI</key>
<dict>
......
......@@ -277,7 +277,7 @@ OcKernelApplyPatches (
Status = PatcherApplyGenericPatch (&Patcher, &Patch);
DEBUG ((
EFI_ERROR (Status) ? DEBUG_INFO : DEBUG_WARN,
EFI_ERROR (Status) ? DEBUG_WARN : DEBUG_INFO,
"OC: Kernel patcher result %u for %a - %r\n",
Index,
Target,
......
......@@ -536,8 +536,8 @@ OcLoadPlatformSupport (
if (Config->PlatformInfo.UpdateSmbios) {
SmbiosUpdateStr = OC_BLOB_GET (&Config->PlatformInfo.UpdateSmbiosMode);
if (AsciiStrCmp (SmbiosUpdateStr, "Auto") == 0) {
SmbiosUpdateMode = OcSmbiosUpdateAuto;
if (AsciiStrCmp (SmbiosUpdateStr, "TryOverwrite") == 0) {
SmbiosUpdateMode = OcSmbiosUpdateTryOverwrite;
} else if (AsciiStrCmp (SmbiosUpdateStr, "Create") == 0) {
SmbiosUpdateMode = OcSmbiosUpdateCreate;
} else if (AsciiStrCmp (SmbiosUpdateStr, "Overwrite") == 0) {
......@@ -546,7 +546,7 @@ OcLoadPlatformSupport (
SmbiosUpdateMode = OcSmbiosUpdateCustom;
} else {
DEBUG ((DEBUG_WARN, "OC: Invalid SMBIOS update mode %a\n", SmbiosUpdateStr));
SmbiosUpdateMode = OcSmbiosUpdateAuto;
SmbiosUpdateMode = OcSmbiosUpdateCreate;
}
OcPlatformUpdateSmbios (Config, CpuInfo, UsedMacInfo, SmbiosUpdateMode);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册