提交 6a65dd14 编写于 作者: J John Davis

OcMainLib: Process kext Patch after Add

Enables patching of force injected kexts
上级 997ef4ae
...@@ -7,6 +7,7 @@ OpenCore Changelog ...@@ -7,6 +7,7 @@ OpenCore Changelog
- Improved compatibility of `GopBurstMode` with some very non-standard GOP implementations - Improved compatibility of `GopBurstMode` with some very non-standard GOP implementations
- Fixed possible hang with `GopBurstMode` enabled on DEBUG builds - Fixed possible hang with `GopBurstMode` enabled on DEBUG builds
- Enabled `GopBurstMode` even with natively supported cards, in EnableGop firmware driver - Enabled `GopBurstMode` even with natively supported cards, in EnableGop firmware driver
- Fixed inability to patch force-injected kexts
#### v0.9.1 #### v0.9.1
- Fixed long comment printing for ACPI patches, thx @corpnewt - Fixed long comment printing for ACPI patches, thx @corpnewt
......
504af847fbf3c4f1f692c3c8e256afcb ec4a837996a6af94560b2068319823fe
...@@ -1971,9 +1971,9 @@ Kernel and kext changes apply with the following effective order: ...@@ -1971,9 +1971,9 @@ Kernel and kext changes apply with the following effective order:
\begin{itemize} \begin{itemize}
\tightlist \tightlist
\item \texttt{Block} is processed. \item \texttt{Block} is processed.
\item \texttt{Add} and \texttt{Force} are processed.
\item \texttt{Emulate} and \texttt{Quirks} are processed. \item \texttt{Emulate} and \texttt{Quirks} are processed.
\item \texttt{Patch} is processed. \item \texttt{Patch} is processed.
\item \texttt{Add} and \texttt{Force} are processed.
\end{itemize} \end{itemize}
\subsection{Properties}\label{kernelprops} \subsection{Properties}\label{kernelprops}
......
\documentclass[]{article} \documentclass[]{article}
%DIF LATEXDIFF DIFFERENCE FILE %DIF LATEXDIFF DIFFERENCE FILE
%DIF DEL PreviousConfiguration.tex Thu Apr 6 01:56:05 2023 %DIF DEL PreviousConfiguration.tex Tue Apr 11 18:01:28 2023
%DIF ADD ../Configuration.tex Sun Apr 9 13:56:04 2023 %DIF ADD ../Configuration.tex Tue Apr 11 18:01:33 2023
\usepackage{lmodern} \usepackage{lmodern}
\usepackage{amssymb,amsmath} \usepackage{amssymb,amsmath}
...@@ -118,7 +118,7 @@ ...@@ -118,7 +118,7 @@
%DIF HYPERREF PREAMBLE %DIF PREAMBLE %DIF HYPERREF PREAMBLE %DIF PREAMBLE
\providecommand{\DIFadd}[1]{\texorpdfstring{\DIFaddtex{#1}}{#1}} %DIF PREAMBLE \providecommand{\DIFadd}[1]{\texorpdfstring{\DIFaddtex{#1}}{#1}} %DIF PREAMBLE
\providecommand{\DIFdel}[1]{\texorpdfstring{\DIFdeltex{#1}}{}} %DIF PREAMBLE \providecommand{\DIFdel}[1]{\texorpdfstring{\DIFdeltex{#1}}{}} %DIF PREAMBLE
%DIF LISTINGS PREAMBLE %DIF PREAMBLE %DIF COLORLISTINGS PREAMBLE %DIF PREAMBLE
\RequirePackage{listings} %DIF PREAMBLE \RequirePackage{listings} %DIF PREAMBLE
\RequirePackage{color} %DIF PREAMBLE \RequirePackage{color} %DIF PREAMBLE
\lstdefinelanguage{DIFcode}{ %DIF PREAMBLE \lstdefinelanguage{DIFcode}{ %DIF PREAMBLE
...@@ -2032,10 +2032,15 @@ Kernel and kext changes apply with the following effective order: ...@@ -2032,10 +2032,15 @@ Kernel and kext changes apply with the following effective order:
\begin{itemize} \begin{itemize}
\tightlist \tightlist
\item \texttt{Block} is processed. \item \texttt{Block} is processed.
\item \texttt{Emulate} and \texttt{Quirks} are processed. \item \DIFaddbegin \texttt{\DIFadd{Add}} \DIFadd{and }\texttt{\DIFadd{Force}} \DIFadd{are processed.
}\item \DIFaddend \texttt{Emulate} and \texttt{Quirks} are processed.
\item \texttt{Patch} is processed. \item \texttt{Patch} is processed.
\item \texttt{Add} and \texttt{Force} are processed. \DIFdelbegin %DIFDELCMD < \item %%%
\end{itemize} \item %DIFAUXCMD
\texttt{\DIFdel{Add}} %DIFAUXCMD
\DIFdel{and }\texttt{\DIFdel{Force}} %DIFAUXCMD
\DIFdel{are processed.
}\DIFdelend \end{itemize}
\subsection{Properties}\label{kernelprops} \subsection{Properties}\label{kernelprops}
......
...@@ -783,10 +783,10 @@ OcKernelProcessPrelinked ( ...@@ -783,10 +783,10 @@ OcKernelProcessPrelinked (
if (!EFI_ERROR (Status)) { if (!EFI_ERROR (Status)) {
OcKernelBlockKexts (Config, DarwinVersion, Is32Bit, CacheTypePrelinked, &Context); OcKernelBlockKexts (Config, DarwinVersion, Is32Bit, CacheTypePrelinked, &Context);
OcKernelApplyPatches (Config, mOcCpuInfo, DarwinVersion, Is32Bit, CacheTypePrelinked, &Context, NULL, 0);
OcKernelInjectKexts (Config, CacheTypePrelinked, &Context, DarwinVersion, Is32Bit, LinkedExpansion, ReservedExeSize); OcKernelInjectKexts (Config, CacheTypePrelinked, &Context, DarwinVersion, Is32Bit, LinkedExpansion, ReservedExeSize);
OcKernelApplyPatches (Config, mOcCpuInfo, DarwinVersion, Is32Bit, CacheTypePrelinked, &Context, NULL, 0);
*KernelSize = Context.PrelinkedSize; *KernelSize = Context.PrelinkedSize;
PrelinkedContextFree (&Context); PrelinkedContextFree (&Context);
...@@ -816,10 +816,10 @@ OcKernelProcessMkext ( ...@@ -816,10 +816,10 @@ OcKernelProcessMkext (
OcKernelBlockKexts (Config, DarwinVersion, Is32Bit, CacheTypeMkext, &Context); OcKernelBlockKexts (Config, DarwinVersion, Is32Bit, CacheTypeMkext, &Context);
OcKernelApplyPatches (Config, mOcCpuInfo, DarwinVersion, Is32Bit, CacheTypeMkext, &Context, NULL, 0);
OcKernelInjectKexts (Config, CacheTypeMkext, &Context, DarwinVersion, Is32Bit, 0, 0); OcKernelInjectKexts (Config, CacheTypeMkext, &Context, DarwinVersion, Is32Bit, 0, 0);
OcKernelApplyPatches (Config, mOcCpuInfo, DarwinVersion, Is32Bit, CacheTypeMkext, &Context, NULL, 0);
MkextInjectPatchComplete (&Context); MkextInjectPatchComplete (&Context);
*MkextSize = Context.MkextSize; *MkextSize = Context.MkextSize;
...@@ -855,10 +855,10 @@ OcKernelInitCacheless ( ...@@ -855,10 +855,10 @@ OcKernelInitCacheless (
OcKernelBlockKexts (Config, DarwinVersion, Is32Bit, CacheTypeCacheless, Context); OcKernelBlockKexts (Config, DarwinVersion, Is32Bit, CacheTypeCacheless, Context);
OcKernelApplyPatches (Config, mOcCpuInfo, DarwinVersion, Is32Bit, CacheTypeCacheless, Context, NULL, 0);
OcKernelInjectKexts (Config, CacheTypeCacheless, Context, DarwinVersion, Is32Bit, 0, 0); OcKernelInjectKexts (Config, CacheTypeCacheless, Context, DarwinVersion, Is32Bit, 0, 0);
OcKernelApplyPatches (Config, mOcCpuInfo, DarwinVersion, Is32Bit, CacheTypeCacheless, Context, NULL, 0);
return CachelessContextOverlayExtensionsDir (Context, File); return CachelessContextOverlayExtensionsDir (Context, File);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册