diff --git a/Changelog.md b/Changelog.md index a86f3cde9d5ab7e29a4f70d6f71ce6482af6ee65..9b16fe575ffc8cb736c4e44624507843fa7a0bf8 100644 --- a/Changelog.md +++ b/Changelog.md @@ -7,6 +7,7 @@ OpenCore Changelog - Improved compatibility of `GopBurstMode` with some very non-standard GOP implementations - Fixed possible hang with `GopBurstMode` enabled on DEBUG builds - Enabled `GopBurstMode` even with natively supported cards, in EnableGop firmware driver +- Fixed inability to patch force-injected kexts #### v0.9.1 - Fixed long comment printing for ACPI patches, thx @corpnewt diff --git a/Docs/Configuration.md5 b/Docs/Configuration.md5 index 2a04f74ff2b252c808fafe465518d96f7a9e93ff..a337977349ce051a77bacb0c9b0c66e642ad92a1 100644 --- a/Docs/Configuration.md5 +++ b/Docs/Configuration.md5 @@ -1 +1 @@ -504af847fbf3c4f1f692c3c8e256afcb +ec4a837996a6af94560b2068319823fe diff --git a/Docs/Configuration.pdf b/Docs/Configuration.pdf index abec36cfa98bd32360bbc7c18d2ed2ddf2b767dd..218d3b1c3ddf48d3e44c2ee1268bbd238c11d469 100644 Binary files a/Docs/Configuration.pdf and b/Docs/Configuration.pdf differ diff --git a/Docs/Configuration.tex b/Docs/Configuration.tex index 8913dd7880689df62b987dd3b695ae157bcf88c6..b891655c22c30b2808aa4af3e4796e9b2d5049ab 100755 --- a/Docs/Configuration.tex +++ b/Docs/Configuration.tex @@ -1971,9 +1971,9 @@ Kernel and kext changes apply with the following effective order: \begin{itemize} \tightlist \item \texttt{Block} is processed. +\item \texttt{Add} and \texttt{Force} are processed. \item \texttt{Emulate} and \texttt{Quirks} are processed. \item \texttt{Patch} is processed. -\item \texttt{Add} and \texttt{Force} are processed. \end{itemize} \subsection{Properties}\label{kernelprops} diff --git a/Docs/Differences/Differences.pdf b/Docs/Differences/Differences.pdf index 8d8237681f3849ed808212e1886209b1b1e7610e..4b4430f14f73fc9c1554543885de1b6a429a802a 100644 Binary files a/Docs/Differences/Differences.pdf and b/Docs/Differences/Differences.pdf differ diff --git a/Docs/Differences/Differences.tex b/Docs/Differences/Differences.tex index b2373a1511e6cb5493504328aa21b1899f5be012..499c70e87c4c31944d3e4a482d54f1a7ecfe93cc 100644 --- a/Docs/Differences/Differences.tex +++ b/Docs/Differences/Differences.tex @@ -1,7 +1,7 @@ \documentclass[]{article} %DIF LATEXDIFF DIFFERENCE FILE -%DIF DEL PreviousConfiguration.tex Thu Apr 6 01:56:05 2023 -%DIF ADD ../Configuration.tex Sun Apr 9 13:56:04 2023 +%DIF DEL PreviousConfiguration.tex Tue Apr 11 18:01:28 2023 +%DIF ADD ../Configuration.tex Tue Apr 11 18:01:33 2023 \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 LISTINGS PREAMBLE %DIF PREAMBLE +%DIF COLORLISTINGS PREAMBLE %DIF PREAMBLE \RequirePackage{listings} %DIF PREAMBLE \RequirePackage{color} %DIF PREAMBLE \lstdefinelanguage{DIFcode}{ %DIF PREAMBLE @@ -2032,10 +2032,15 @@ Kernel and kext changes apply with the following effective order: \begin{itemize} \tightlist \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{Add} and \texttt{Force} are processed. -\end{itemize} +\DIFdelbegin %DIFDELCMD < \item %%% +\item %DIFAUXCMD +\texttt{\DIFdel{Add}} %DIFAUXCMD +\DIFdel{and }\texttt{\DIFdel{Force}} %DIFAUXCMD +\DIFdel{are processed. +}\DIFdelend \end{itemize} \subsection{Properties}\label{kernelprops} diff --git a/Docs/Errata/Errata.pdf b/Docs/Errata/Errata.pdf index e3a909c52bb6303d8f8f6c132983eec04085dbdc..2090d5a582f119827051400f43551aac4e065ed1 100644 Binary files a/Docs/Errata/Errata.pdf and b/Docs/Errata/Errata.pdf differ diff --git a/Library/OcMainLib/OpenCoreKernel.c b/Library/OcMainLib/OpenCoreKernel.c index 5089e535578623d0cf8c90605bb0594c04728893..4acdaea85f7a938de86edf0e66b006536d90a795 100644 --- a/Library/OcMainLib/OpenCoreKernel.c +++ b/Library/OcMainLib/OpenCoreKernel.c @@ -783,10 +783,10 @@ OcKernelProcessPrelinked ( if (!EFI_ERROR (Status)) { OcKernelBlockKexts (Config, DarwinVersion, Is32Bit, CacheTypePrelinked, &Context); - OcKernelApplyPatches (Config, mOcCpuInfo, DarwinVersion, Is32Bit, CacheTypePrelinked, &Context, NULL, 0); - OcKernelInjectKexts (Config, CacheTypePrelinked, &Context, DarwinVersion, Is32Bit, LinkedExpansion, ReservedExeSize); + OcKernelApplyPatches (Config, mOcCpuInfo, DarwinVersion, Is32Bit, CacheTypePrelinked, &Context, NULL, 0); + *KernelSize = Context.PrelinkedSize; PrelinkedContextFree (&Context); @@ -816,10 +816,10 @@ OcKernelProcessMkext ( OcKernelBlockKexts (Config, DarwinVersion, Is32Bit, CacheTypeMkext, &Context); - OcKernelApplyPatches (Config, mOcCpuInfo, DarwinVersion, Is32Bit, CacheTypeMkext, &Context, NULL, 0); - OcKernelInjectKexts (Config, CacheTypeMkext, &Context, DarwinVersion, Is32Bit, 0, 0); + OcKernelApplyPatches (Config, mOcCpuInfo, DarwinVersion, Is32Bit, CacheTypeMkext, &Context, NULL, 0); + MkextInjectPatchComplete (&Context); *MkextSize = Context.MkextSize; @@ -855,10 +855,10 @@ OcKernelInitCacheless ( OcKernelBlockKexts (Config, DarwinVersion, Is32Bit, CacheTypeCacheless, Context); - OcKernelApplyPatches (Config, mOcCpuInfo, DarwinVersion, Is32Bit, CacheTypeCacheless, Context, NULL, 0); - OcKernelInjectKexts (Config, CacheTypeCacheless, Context, DarwinVersion, Is32Bit, 0, 0); + OcKernelApplyPatches (Config, mOcCpuInfo, DarwinVersion, Is32Bit, CacheTypeCacheless, Context, NULL, 0); + return CachelessContextOverlayExtensionsDir (Context, File); }