OpenCoreKernel: Support LapicKernelPanic and AppleXcpmExtraMsrs quirks

This commit is contained in:
vit9696 2019-06-09 00:11:48 +03:00
parent 25d8751c71
commit e05bd528e6
8 changed files with 59 additions and 3 deletions

View File

@ -11,6 +11,10 @@ OpenCore Changelog
- Added `Kernel` -> `Emulate` section for CPUID patches
- Added `CustomSMBIOSGuid` quirk for Custom SMBIOS update mode
- Added `PanicNoKextDump` quirk to avoid kext dump in panics
- Switched to EDK II stable and reduced image size
- Added `LapicKernelPanic` kernel quirk
- Added `AppleXcpmExtraMsrs` quirk and improved XCPM patches
- Added `(external)` suffix for external drives in boot menu
#### v0.0.2
- Documentation improvements (see Differences.pdf)

Binary file not shown.

View File

@ -1235,6 +1235,15 @@ blocking.
about the issue can be found in
\href{https://github.com/acidanthera/AptioFixPkg#verifymsre2}{VerifyMsrE2} notes.
\item
\texttt{AppleXcpmExtraMsrs}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Default value}: \texttt{false}\\
\textbf{Description}: Disables multiple MSR access critical for select CPUs,
which have no native XCPM support. This is normally used in conjunction with
\texttt{Emulate}. More details on the XCPM patches are outlined in
\href{https://github.com/acidanthera/bugtracker/issues/365}{acidanthera/bugtracker\#365}.
\item
\texttt{CustomSMBIOSGuid}\\
\textbf{Type}: \texttt{plist\ boolean}\\
@ -1263,6 +1272,14 @@ blocking.
\emph{Note}: This option should avoided whenever possible. Modern firmwares
usually have compatible AHCI controllers.
\item
\texttt{LapicKernelPanic}\\
\textbf{Type}: \texttt{plist\ boolean}\\
\textbf{Default value}: \texttt{false}\\
\textbf{Description}: Disables kernel panic on AP core lapic interrupt. For
BSP core lapic interrupt \texttt{lapic\_dont\_panic=1} kernel boot argument is to
be used when \texttt{debug} kernel boot argument is present.
\item
\texttt{PanicNoKextDump}\\
\textbf{Type}: \texttt{plist\ boolean}\\

Binary file not shown.

View File

@ -1,7 +1,7 @@
\documentclass[]{article}
%DIF LATEXDIFF DIFFERENCE FILE
%DIF DEL PreviousConfiguration.tex Fri May 24 02:34:39 2019
%DIF ADD ../Configuration.tex Sat Jun 8 19:46:51 2019
%DIF ADD ../Configuration.tex Sun Jun 9 00:10:18 2019
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
@ -1335,7 +1335,17 @@ blocking.
\href{https://github.com/acidanthera/AptioFixPkg#verifymsre2}{VerifyMsrE2} notes.
\item
\DIFaddbegin \texttt{\DIFadd{CustomSMBIOSGuid}}\\
\DIFaddbegin \texttt{\DIFadd{AppleXcpmExtraMsrs}}\\
\textbf{\DIFadd{Type}}\DIFadd{: }\texttt{\DIFadd{plist\ boolean}}\\
\textbf{\DIFadd{Default value}}\DIFadd{: }\texttt{\DIFadd{false}}\\
\textbf{\DIFadd{Description}}\DIFadd{: Disables multiple MSR access critical for select CPUs,
which have no native XCPM support. This is normally used in conjunction with
}\texttt{\DIFadd{Emulate}}\DIFadd{. More details on the XCPM patches are outlined in
}\href{https://github.com/acidanthera/bugtracker/issues/365}{acidanthera/bugtracker\#365}\DIFadd{.
}
\item
\texttt{\DIFadd{CustomSMBIOSGuid}}\\
\textbf{\DIFadd{Type}}\DIFadd{: }\texttt{\DIFadd{plist\ boolean}}\\
\textbf{\DIFadd{Default value}}\DIFadd{: }\texttt{\DIFadd{false}}\\
\textbf{\DIFadd{Description}}\DIFadd{: Performs GUID patching for }\texttt{\DIFadd{UpdateSMBIOSMode}}
@ -1366,7 +1376,16 @@ blocking.
usually have compatible AHCI controllers.
\item
\DIFaddbegin \texttt{\DIFadd{PanicNoKextDump}}\\
\DIFaddbegin \texttt{\DIFadd{LapicKernelPanic}}\\
\textbf{\DIFadd{Type}}\DIFadd{: }\texttt{\DIFadd{plist\ boolean}}\\
\textbf{\DIFadd{Default value}}\DIFadd{: }\texttt{\DIFadd{false}}\\
\textbf{\DIFadd{Description}}\DIFadd{: Disables kernel panic on AP core lapic interrupt. For
BSP core lapic interrupt }\texttt{\DIFadd{lapic\_dont\_panic=1}} \DIFadd{kernel boot argument is to
be used when }\texttt{\DIFadd{debug}} \DIFadd{kernel boot argument is present.
}
\item
\texttt{\DIFadd{PanicNoKextDump}}\\
\textbf{\DIFadd{Type}}\DIFadd{: }\texttt{\DIFadd{plist\ boolean}}\\
\textbf{\DIFadd{Default value}}\DIFadd{: }\texttt{\DIFadd{false}}\\
\textbf{\DIFadd{Description}}\DIFadd{: Prevent kernel from printing kext dump in the panic

View File

@ -360,12 +360,16 @@
<false/>
<key>AppleXcpmCfgLock</key>
<false/>
<key>AppleXcpmExtraMsrs</key>
<false/>
<key>CustomSMBIOSGuid</key>
<false/>
<key>DisableIoMapper</key>
<false/>
<key>ExternalDiskIcons</key>
<false/>
<key>LapicKernelPanic</key>
<false/>
<key>PanicNoKextDump</key>
<false/>
<key>ThirdPartyTrim</key>

View File

@ -360,12 +360,16 @@
<false/>
<key>AppleXcpmCfgLock</key>
<false/>
<key>AppleXcpmExtraMsrs</key>
<false/>
<key>CustomSMBIOSGuid</key>
<false/>
<key>DisableIoMapper</key>
<false/>
<key>ExternalDiskIcons</key>
<false/>
<key>LapicKernelPanic</key>
<false/>
<key>PanicNoKextDump</key>
<false/>
<key>ThirdPartyTrim</key>

View File

@ -310,11 +310,19 @@ OcKernelApplyPatches (
if (Config->Kernel.Quirks.CustomSmbiosGuid) {
PatchCustomSmbiosGuid (Context);
}
if (Config->Kernel.Quirks.LapicKernelPanic) {
PatchLapicKernelPanic (&Patcher);
}
} else {
if (Config->Kernel.Quirks.AppleXcpmCfgLock) {
PatchAppleXcpmCfgLock (&Patcher);
}
if (Config->Kernel.Quirks.AppleXcpmExtraMsrs) {
PatchAppleXcpmExtraMsrs (&Patcher);
}
if (Config->Kernel.Quirks.PanicNoKextDump) {
PatchPanicKextDump (&Patcher);
}