diff --git a/CHANGELOG.md b/CHANGELOG.md index bb8ec9eb4..03118e38a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # OpenCore Legacy Patcher changelog ## 0.4.11 +- Enable AppleMCEReporterDisabler whenever spoofing affected SMBIOS + - ie. iMacPro1,1, MacPro6,1 and MacPro7,1 ## 0.4.10 - Resolve Nvidia Kepler support in macOS 12.5 Beta 3 and newer diff --git a/resources/build.py b/resources/build.py index bc441be43..facf18913 100644 --- a/resources/build.py +++ b/resources/build.py @@ -112,7 +112,6 @@ class BuildOpenCore: ("RestrictEvents.kext", self.constants.restrictevents_version, self.constants.restrictevents_path, lambda: self.model in model_array.MacPro), ("SMC-Spoof.kext", self.constants.smcspoof_version, self.constants.smcspoof_path, lambda: self.constants.allow_oc_everywhere is False and self.constants.serial_settings != "None"), # CPU patches - ("AppleMCEReporterDisabler.kext", self.constants.mce_version, self.constants.mce_path, lambda: (self.model.startswith("MacPro") or self.model.startswith("Xserve")) and self.constants.serial_settings != "None"), ("AAAMouSSE.kext", self.constants.mousse_version, self.constants.mousse_path, lambda: smbios_data.smbios_dictionary[self.model]["CPU Generation"] <= cpu_data.cpu_data.penryn.value), ( "telemetrap.kext", @@ -166,6 +165,16 @@ class BuildOpenCore: # Required for Lilu in 11.0+ self.config["Kernel"]["Quirks"]["DisableLinkeditJettison"] = True + if self.constants.serial_settings != "None": + # AppleMCEReporter is very picky about which models attach to the kext + # Commonly it will kernel panic on multi-socket systems, however even on single-socket systems it may cause instability + # To avoid any issues, we'll disable it if the spoof is set to an affected SMBIOS + affected_smbios = ["MacPro6,1", "MacPro7,1", "iMacPro1,1"] + if self.model not in affected_smbios: + # If MacPro6,1 host spoofs, we can safely enable it + if self.constants.override_smbios in affected_smbios or generate_smbios.set_smbios_model_spoof(self.model) in affected_smbios: + self.enable_kext("AppleMCEReporterDisabler.kext", self.constants.mce_version, self.constants.mce_path) + if self.constants.fu_status is True: # Enable FeatureUnlock.kext self.enable_kext("FeatureUnlock.kext", self.constants.featureunlock_version, self.constants.featureunlock_path)