OpenCoreKernel: Add support for patch comment logging

This commit is contained in:
vit9696 2019-08-31 22:34:41 +03:00
parent f3361a1109
commit 2e1dfab255
8 changed files with 24 additions and 15 deletions

View File

@ -12,6 +12,7 @@ OpenCore Changelog
- Added `MISC_PWR_MGMT` patch to `AppleXcpmExtraMsrs` quirk (thx @mrmiller)
- Added `DevirtualiseMmio` quirk to `Booter` section
- Added FileVault 2 user interface protocols formerly in AppleUiSupport
- Improved kernel patch logging to include configuration comments
#### v0.0.4
- Fixed kext injection issues with dummy dependencies

Binary file not shown.

View File

@ -582,6 +582,7 @@ Add \texttt{.clang\_complete} file with similar content to your UDK root:
-Wno-sign-compare
-Wno-varargs
-Wno-unused-const-variable
-DOC_TARGET_NOOPT=1
\end{lstlisting}
\textbf{Warning}: Tool developers modifying \texttt{config.plist} or any other OpenCore

Binary file not shown.

View File

@ -1,7 +1,7 @@
\documentclass[]{article}
%DIF LATEXDIFF DIFFERENCE FILE
%DIF DEL PreviousConfiguration.tex Sun Aug 11 01:57:12 2019
%DIF ADD ../Configuration.tex Sat Aug 31 12:31:30 2019
%DIF ADD ../Configuration.tex Sat Aug 31 22:14:59 2019
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
@ -624,7 +624,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
@ -649,7 +650,9 @@ Add \texttt{.clang\_complete} file with similar content to your UDK root:
-Wno-sign-compare
-Wno-varargs
-Wno-unused-const-variable
%DIF > -DOC_TARGET_NOOPT=1
\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

View File

@ -33,14 +33,14 @@
/**
OpenCore build type reported to log and NVRAM.
**/
#if defined (OC_RELEASE_TARGET)
#if defined (OC_TARGET_RELEASE)
#define OPEN_CORE_TARGET "REL" ///< Release.
#elif defined (OC_DEBUG_TARGET)
#elif defined (OC_TARGET_DEBUG)
#define OPEN_CORE_TARGET "DBG" ///< Debug with compiler optimisations.
#elif defined (OC_NOOPT_TARGET)
#elif defined (OC_TARGET_NOOPT)
#define OPEN_CORE_TARGET "NPT" ///< Debug with no compiler optimisations.
#else
#define OPEN_CORE_TARGET "UNK" ///< This one should not happen in public builds.
#error "Unknown target definition"
#endif
#define OPEN_CORE_IMAGE_PATH L"EFI\\OC\\OpenCore.efi"

View File

@ -121,12 +121,12 @@
DEFINE OCPKG_BUILD_OPTIONS_GEN = -D DISABLE_NEW_DEPRECATED_INTERFACES $(OCPKG_BUILD_OPTIONS)
DEFINE OCPKG_ANAL_OPTIONS_GEN = -DANALYZER_UNREACHABLE='__builtin_unreachable' -DANALYZER_NORETURN='__attribute__((noreturn))'
GCC:DEBUG_*_*_CC_FLAGS = $(OCPKG_BUILD_OPTIONS_GEN) $(OCPKG_ANAL_OPTIONS_GEN) -D OC_DEBUG_TARGET
GCC:NOOPT_*_*_CC_FLAGS = $(OCPKG_BUILD_OPTIONS_GEN) $(OCPKG_ANAL_OPTIONS_GEN) -D OC_NOOPT_TARGET
GCC:RELEASE_*_*_CC_FLAGS = $(OCPKG_BUILD_OPTIONS_GEN) $(OCPKG_ANAL_OPTIONS_GEN) -D OC_RELEASE_TARGET
MSFT:DEBUG_*_*_CC_FLAGS = $(OCPKG_BUILD_OPTIONS_GEN) -D OC_DEBUG_TARGET
MSFT:NOOPT_*_*_CC_FLAGS = $(OCPKG_BUILD_OPTIONS_GEN) -D OC_NOOPT_TARGET
MSFT:RELEASE_*_*_CC_FLAGS = $(OCPKG_BUILD_OPTIONS_GEN) -D OC_RELEASE_TARGET
XCODE:DEBUG_*_*_CC_FLAGS = $(OCPKG_BUILD_OPTIONS_GEN) $(OCPKG_ANAL_OPTIONS_GEN) -D OC_DEBUG_TARGET
XCODE:NOOPT_*_*_CC_FLAGS = $(OCPKG_BUILD_OPTIONS_GEN) $(OCPKG_ANAL_OPTIONS_GEN) -D OC_NOOPT_TARGET
XCODE:RELEASE_*_*_CC_FLAGS = $(OCPKG_BUILD_OPTIONS_GEN) $(OCPKG_ANAL_OPTIONS_GEN) -D OC_RELEASE_TARGET -Oz -flto
GCC:DEBUG_*_*_CC_FLAGS = -D OC_TARGET_DEBUG=1 $(OCPKG_BUILD_OPTIONS_GEN) $(OCPKG_ANAL_OPTIONS_GEN)
GCC:NOOPT_*_*_CC_FLAGS = -D OC_TARGET_NOOPT=1 $(OCPKG_BUILD_OPTIONS_GEN) $(OCPKG_ANAL_OPTIONS_GEN)
GCC:RELEASE_*_*_CC_FLAGS = -D OC_TARGET_RELEASE=1 $(OCPKG_BUILD_OPTIONS_GEN) $(OCPKG_ANAL_OPTIONS_GEN)
MSFT:DEBUG_*_*_CC_FLAGS = -D OC_TARGET_DEBUG=1 $(OCPKG_BUILD_OPTIONS_GEN)
MSFT:NOOPT_*_*_CC_FLAGS = -D OC_TARGET_NOOPT=1 $(OCPKG_BUILD_OPTIONS_GEN)
MSFT:RELEASE_*_*_CC_FLAGS = -D OC_TARGET_RELEASE=1 $(OCPKG_BUILD_OPTIONS_GEN)
XCODE:DEBUG_*_*_CC_FLAGS = -D OC_TARGET_DEBUG=1 $(OCPKG_BUILD_OPTIONS_GEN) $(OCPKG_ANAL_OPTIONS_GEN)
XCODE:NOOPT_*_*_CC_FLAGS = -D OC_TARGET_NOOPT=1 $(OCPKG_BUILD_OPTIONS_GEN) $(OCPKG_ANAL_OPTIONS_GEN)
XCODE:RELEASE_*_*_CC_FLAGS = -D OC_TARGET_RELEASE=1 $(OCPKG_BUILD_OPTIONS_GEN) $(OCPKG_ANAL_OPTIONS_GEN) -Oz -flto

View File

@ -255,6 +255,10 @@ OcKernelApplyPatches (
ZeroMem (&Patch, sizeof (Patch));
if (OC_BLOB_GET (&UserPatch->Comment)[0] != '\0') {
Patch.Comment = OC_BLOB_GET (&UserPatch->Comment);
}
if (OC_BLOB_GET (&UserPatch->Base)[0] != '\0') {
Patch.Base = OC_BLOB_GET (&UserPatch->Base);
}