mirror of
https://github.com/outbackdingo/OpCore-Simplify.git
synced 2026-01-27 10:19:49 +00:00
Add support for Intel Lunar Lake, Meteor Lake and Tiger Lake processors
This commit is contained in:
@@ -1581,7 +1581,7 @@ DefinitionBlock ("", "SSDT", 2, "ZPSS", "MCHC", 0)
|
||||
return
|
||||
|
||||
try:
|
||||
smbus_device_name = self.acpi.get_device_paths_with_hid("0x001F0003" if self.utils.contains_any(cpu_data.IntelCPUGenerations, self.hardware_report.get("CPU").get("Codename"), start=27) else "0x001F0004", self.dsdt)[0][0].split(".")[-1]
|
||||
smbus_device_name = self.acpi.get_device_paths_with_hid("0x001F0003" if self.hardware_report.get("CPU").get("Codename") in cpu_data.IntelCPUGenerations[50:] else "0x001F0004", self.dsdt)[0][0].split(".")[-1]
|
||||
except:
|
||||
smbus_device_name = "SBUS"
|
||||
|
||||
@@ -2415,10 +2415,10 @@ DefinitionBlock("", "SSDT", 2, "ZPSS", "RMNE", 0x00001000)
|
||||
}
|
||||
|
||||
def is_intel_hedt_cpu(self, processor_name, cpu_codename):
|
||||
if cpu_codename in cpu_data.IntelCPUGenerations[22:43]:
|
||||
if cpu_codename in cpu_data.IntelCPUGenerations[45:66]:
|
||||
return cpu_codename.endswith(("-X", "-P", "-W", "-E", "-EP", "-EX"))
|
||||
|
||||
if cpu_codename in cpu_data.IntelCPUGenerations[43:]:
|
||||
if cpu_codename in cpu_data.IntelCPUGenerations[66:]:
|
||||
return "Xeon" in processor_name
|
||||
|
||||
return False
|
||||
@@ -3076,7 +3076,7 @@ DefinitionBlock ("", "SSDT", 2, "ZPSS", "UsbReset", 0x00001000)
|
||||
if hardware_report.get("Motherboard").get("Chipset") in chipset_data.IntelChipsets[-7:]:
|
||||
selected_patches.append("RCSP")
|
||||
|
||||
if "Laptop" in hardware_report.get("Motherboard").get("Platform") and self.utils.contains_any(cpu_data.IntelCPUGenerations, hardware_report.get("CPU").get("Codename"), start=27):
|
||||
if "Laptop" in hardware_report.get("Motherboard").get("Platform") and self.hardware_report.get("CPU").get("Codename") in cpu_data.IntelCPUGenerations[50:]:
|
||||
selected_patches.append("FixHPET")
|
||||
|
||||
for device_name, device_info in hardware_report.get("System Devices", {}).items():
|
||||
@@ -3103,7 +3103,7 @@ DefinitionBlock ("", "SSDT", 2, "ZPSS", "UsbReset", 0x00001000)
|
||||
if hardware_report.get("Motherboard").get("Chipset") in ("C610/X99", "Wellsburg", "X299"):
|
||||
selected_patches.append("RTC0")
|
||||
|
||||
if "AMD" in hardware_report.get("CPU").get("Manufacturer") or self.utils.contains_any(cpu_data.IntelCPUGenerations, hardware_report.get("CPU").get("Codename"), end=17):
|
||||
if "AMD" in hardware_report.get("CPU").get("Manufacturer") or hardware_report.get("CPU").get("Codename") in cpu_data.IntelCPUGenerations[:40]:
|
||||
selected_patches.append("RTCAWAC")
|
||||
|
||||
if "SURFACE" in hardware_report.get("Motherboard").get("Name"):
|
||||
|
||||
@@ -19,7 +19,8 @@ class ConfigProdigy:
|
||||
"Haswell": "C3060300",
|
||||
"Broadwell": "D4060300",
|
||||
"Coffee Lake": "EB060800",
|
||||
"Comet Lake": "55060A00"
|
||||
"Comet Lake": "55060A00",
|
||||
"Ice Lake": "E5060700"
|
||||
}
|
||||
|
||||
def mmio_whitelist(self, motherboard_chipset):
|
||||
@@ -417,10 +418,10 @@ class ConfigProdigy:
|
||||
return self.is_low_end_intel_cpu(processor_name) and cpu_codename in cpu_data.IntelCPUGenerations[:39]
|
||||
|
||||
def is_intel_hedt_cpu(self, processor_name, cpu_codename):
|
||||
if cpu_codename in cpu_data.IntelCPUGenerations[22:43]:
|
||||
if cpu_codename in cpu_data.IntelCPUGenerations[45:66]:
|
||||
return cpu_codename.endswith(("-X", "-P", "-W", "-E", "-EP", "-EX"))
|
||||
|
||||
if cpu_codename in cpu_data.IntelCPUGenerations[43:]:
|
||||
if cpu_codename in cpu_data.IntelCPUGenerations[66:]:
|
||||
return "Xeon" in processor_name
|
||||
|
||||
return False
|
||||
@@ -432,7 +433,9 @@ class ConfigProdigy:
|
||||
return self.cpuids.get("Haswell")
|
||||
elif "Broadwell" in cpu_codename and self.is_intel_hedt_cpu(processor_name, cpu_codename):
|
||||
return self.cpuids.get("Broadwell")
|
||||
elif "Ice Lake" not in cpu_codename and self.utils.contains_any(cpu_data.IntelCPUGenerations, cpu_codename, end=11):
|
||||
elif "Tiger Lake" in cpu_codename:
|
||||
return self.cpuids.get("Ice Lake")
|
||||
elif "Ice Lake" not in cpu_codename and cpu_codename in cpu_data.IntelCPUGenerations[:57]:
|
||||
if not "Comet Lake" in cpu_codename:
|
||||
return self.cpuids.get("Comet Lake")
|
||||
if self.utils.parse_darwin_version(macos_version) < self.utils.parse_darwin_version("19.0.0"):
|
||||
@@ -574,7 +577,7 @@ class ConfigProdigy:
|
||||
|
||||
def load_drivers(self, firmware_type, cpu_codename):
|
||||
uefi_drivers = []
|
||||
required_drivers = ["HfsPlus.efi" if not cpu_codename in cpu_data.IntelCPUGenerations[41:] else "HfsPlusLegacy.efi", "OpenCanopy.efi", "OpenRuntime.efi", "ResetNvramEntry.efi"]
|
||||
required_drivers = ["HfsPlus.efi" if not cpu_codename in cpu_data.IntelCPUGenerations[64:] else "HfsPlusLegacy.efi", "OpenCanopy.efi", "OpenRuntime.efi", "ResetNvramEntry.efi"]
|
||||
|
||||
if firmware_type == "Legacy":
|
||||
required_drivers.append("OpenUsbKbDxe.efi")
|
||||
@@ -638,17 +641,17 @@ class ConfigProdigy:
|
||||
hardware_report.get("Network", {}),
|
||||
kexts
|
||||
)
|
||||
config["Kernel"]["Quirks"]["AppleCpuPmCfgLock"] = hardware_report.get("CPU").get("Codename") in cpu_data.IntelCPUGenerations[39:]
|
||||
config["Kernel"]["Quirks"]["AppleCpuPmCfgLock"] = hardware_report.get("CPU").get("Codename") in cpu_data.IntelCPUGenerations[62:]
|
||||
config["Kernel"]["Quirks"]["AppleXcpmCfgLock"] = False if "AMD" in hardware_report.get("CPU").get("Manufacturer") else not config["Kernel"]["Quirks"]["AppleCpuPmCfgLock"]
|
||||
config["Kernel"]["Quirks"]["AppleXcpmExtraMsrs"] = self.is_intel_hedt_cpu(hardware_report.get("CPU").get("Processor Name"), hardware_report.get("CPU").get("Codename")) and hardware_report.get("CPU").get("Codename") in cpu_data.IntelCPUGenerations[27:]
|
||||
config["Kernel"]["Quirks"]["AppleXcpmForceBoost"] = hardware_report.get("CPU").get("Codename") in cpu_data.IntelCPUGenerations[:1]
|
||||
config["Kernel"]["Quirks"]["AppleXcpmExtraMsrs"] = self.is_intel_hedt_cpu(hardware_report.get("CPU").get("Processor Name"), hardware_report.get("CPU").get("Codename")) and hardware_report.get("CPU").get("Codename") in cpu_data.IntelCPUGenerations[50:]
|
||||
config["Kernel"]["Quirks"]["AppleXcpmForceBoost"] = hardware_report.get("CPU").get("Codename") in cpu_data.IntelCPUGenerations[:4]
|
||||
config["Kernel"]["Quirks"]["CustomSMBIOSGuid"] = True
|
||||
config["Kernel"]["Quirks"]["DisableIoMapper"] = not "AMD" in hardware_report.get("CPU").get("Manufacturer")
|
||||
config["Kernel"]["Quirks"]["DisableRtcChecksum"] = "ASUS" in hardware_report.get("Motherboard").get("Name") or "HP " in hardware_report.get("Motherboard").get("Name")
|
||||
config["Kernel"]["Quirks"]["ForceAquantiaEthernet"] = any(network_props.get("Device ID") in pci_data.AquantiaAqtionIDs for network_props in hardware_report.get("Network", {}).values())
|
||||
config["Kernel"]["Quirks"]["LapicKernelPanic"] = "HP " in hardware_report.get("Motherboard").get("Name")
|
||||
config["Kernel"]["Quirks"]["PanicNoKextDump"] = config["Kernel"]["Quirks"]["PowerTimeoutKernelPanic"] = True
|
||||
config["Kernel"]["Quirks"]["ProvideCurrentCpuInfo"] = "AMD" in hardware_report.get("CPU").get("Manufacturer") or hardware_report.get("CPU").get("Codename") in cpu_data.IntelCPUGenerations[1:3]
|
||||
config["Kernel"]["Quirks"]["ProvideCurrentCpuInfo"] = "AMD" in hardware_report.get("CPU").get("Manufacturer") or hardware_report.get("CPU").get("Codename") in cpu_data.IntelCPUGenerations[4:20]
|
||||
|
||||
config["Misc"]["BlessOverride"] = []
|
||||
config["Misc"]["Boot"]["HideAuxiliary"] = False
|
||||
@@ -677,8 +680,8 @@ class ConfigProdigy:
|
||||
config["UEFI"]["Drivers"] = self.load_drivers(hardware_report.get("BIOS").get("Firmware Type"), hardware_report.get("CPU").get("Codename"))
|
||||
config["UEFI"]["Input"]["KeySupport"] = hardware_report.get("BIOS").get("Firmware Type") == "UEFI"
|
||||
config["UEFI"]["Quirks"]["ForceOcWriteFlash"] = any(device_props.get("Device ID") in pci_data.ThinkPadTWX30IDs and device_props.get("Subsystem ID") in pci_data.ThinkPadTWX30IDs[device_props.get("Device ID")] for device_props in hardware_report.get("System Devices", {}).values())
|
||||
config["UEFI"]["Quirks"]["EnableVectorAcceleration"] = not hardware_report.get("CPU").get("Codename") in cpu_data.IntelCPUGenerations[:3]
|
||||
config["UEFI"]["Quirks"]["IgnoreInvalidFlexRatio"] = hardware_report.get("CPU").get("Codename") in cpu_data.IntelCPUGenerations[27:]
|
||||
config["UEFI"]["Quirks"]["EnableVectorAcceleration"] = not hardware_report.get("CPU").get("Codename") in cpu_data.IntelCPUGenerations[:20]
|
||||
config["UEFI"]["Quirks"]["IgnoreInvalidFlexRatio"] = hardware_report.get("CPU").get("Codename") in cpu_data.IntelCPUGenerations[50:]
|
||||
config["UEFI"]["Quirks"]["ReleaseUsbOwnership"] = True
|
||||
config["UEFI"]["Quirks"]["UnblockFsConnect"] = "HP " in hardware_report.get("Motherboard").get("Name")
|
||||
config["UEFI"]["ReservedMemory"] = []
|
||||
@@ -697,7 +700,7 @@ class ConfigProdigy:
|
||||
len(config["Booter"]["Patch"]) and self.utils.parse_darwin_version(macos_version) > self.utils.parse_darwin_version("20.4.0"):
|
||||
revpatch.append("sbvmm")
|
||||
if not (" Core" in hardware_report.get("CPU").get("Processor Name") and \
|
||||
self.utils.contains_any(cpu_data.IntelCPUGenerations, hardware_report.get("CPU").get("Codename"), start=5)):
|
||||
hardware_report.get("CPU").get("Codename") in cpu_data.IntelCPUGenerations[28:]):
|
||||
config["NVRAM"]["Add"]["4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102"]["revcpu"] = 1
|
||||
config["NVRAM"]["Add"]["4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102"]["revcpuname"] = hardware_report.get("CPU").get("Processor Name")
|
||||
if self.utils.parse_darwin_version(macos_version) > self.utils.parse_darwin_version("23.0.0"):
|
||||
|
||||
@@ -33,11 +33,34 @@ AMDCPUGenerations = [
|
||||
]
|
||||
|
||||
IntelCPUGenerations = [
|
||||
"Arrow Lake-S",
|
||||
"Raptor Lake-S",
|
||||
"Alder Lake-S",
|
||||
"Rocket Lake-S",
|
||||
"Rocket Lake-E",
|
||||
"Arrow Lake-S",
|
||||
"Arrow Lake-H",
|
||||
"Arrow Lake-HX",
|
||||
"Arrow Lake-U",
|
||||
"Lunar Lake",
|
||||
"Meteor Lake-H",
|
||||
"Meteor Lake-U",
|
||||
"Raptor Lake-S",
|
||||
"Raptor Lake-E",
|
||||
"Raptor Lake-HX",
|
||||
"Raptor Lake-H",
|
||||
"Raptor Lake-PX",
|
||||
"Raptor Lake-P",
|
||||
"Raptor Lake-U",
|
||||
"Alder Lake-S",
|
||||
"Alder Lake-HX",
|
||||
"Alder Lake-H",
|
||||
"Alder Lake-P",
|
||||
"Alder Lake-U",
|
||||
"Alder Lake-N",
|
||||
"Lakefield",
|
||||
"Rocket Lake-S",
|
||||
"Rocket Lake-E",
|
||||
"Tiger Lake-H",
|
||||
"Tiger Lake-B",
|
||||
"Tiger Lake-UP3",
|
||||
"Tiger Lake-H35",
|
||||
"Tiger Lake-UP4",
|
||||
"Ice Lake-U",
|
||||
"Ice Lake-SP",
|
||||
"Comet Lake-S",
|
||||
|
||||
@@ -69,10 +69,10 @@ class KextMaestro:
|
||||
return pci_ids
|
||||
|
||||
def is_intel_hedt_cpu(self, processor_name, cpu_codename):
|
||||
if cpu_codename in cpu_data.IntelCPUGenerations[22:43]:
|
||||
if cpu_codename in cpu_data.IntelCPUGenerations[45:66]:
|
||||
return cpu_codename.endswith(("-X", "-P", "-W", "-E", "-EP", "-EX"))
|
||||
|
||||
if cpu_codename in cpu_data.IntelCPUGenerations[43:]:
|
||||
if cpu_codename in cpu_data.IntelCPUGenerations[66:]:
|
||||
return "Xeon" in processor_name
|
||||
|
||||
return False
|
||||
@@ -115,7 +115,7 @@ class KextMaestro:
|
||||
selected_kexts.append("SMCLightSensor")
|
||||
|
||||
if not (" Core" in hardware_report.get("CPU").get("Processor Name") and \
|
||||
self.utils.contains_any(cpu_data.IntelCPUGenerations, hardware_report.get("CPU").get("Codename"), start=5)) or \
|
||||
hardware_report.get("CPU").get("Codename") in cpu_data.IntelCPUGenerations[28:]) or \
|
||||
self.utils.parse_darwin_version(macos_version) >= self.utils.parse_darwin_version("23.0.0"):
|
||||
selected_kexts.append("RestrictEvents")
|
||||
|
||||
@@ -130,7 +130,9 @@ class KextMaestro:
|
||||
if self.utils.parse_darwin_version(macos_version) >= self.utils.parse_darwin_version("22.0.0") and not "AVX2" in hardware_report.get("CPU").get("SIMD Features"):
|
||||
selected_kexts.append("CryptexFixup")
|
||||
|
||||
if self.utils.contains_any(cpu_data.IntelCPUGenerations, hardware_report.get("CPU").get("Codename"), end=3) and \
|
||||
if "Lunar Lake" not in hardware_report.get("CPU").get("Codename") and \
|
||||
"Meteor Lake" not in hardware_report.get("CPU").get("Codename") and \
|
||||
hardware_report.get("CPU").get("Codename") in cpu_data.IntelCPUGenerations[:20] and \
|
||||
int(hardware_report.get("CPU").get("Core Count")) > 6:
|
||||
selected_kexts.append("CpuTopologyRebuild")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user