diff --git a/Scripts/acpi_guru.py b/Scripts/acpi_guru.py index d6fe873..731cc56 100644 --- a/Scripts/acpi_guru.py +++ b/Scripts/acpi_guru.py @@ -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"): diff --git a/Scripts/config_prodigy.py b/Scripts/config_prodigy.py index 7aa2c17..ab48488 100644 --- a/Scripts/config_prodigy.py +++ b/Scripts/config_prodigy.py @@ -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"): diff --git a/Scripts/datasets/cpu_data.py b/Scripts/datasets/cpu_data.py index b5c9cbc..bec9402 100644 --- a/Scripts/datasets/cpu_data.py +++ b/Scripts/datasets/cpu_data.py @@ -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", diff --git a/Scripts/kext_maestro.py b/Scripts/kext_maestro.py index 10cb549..b8e1edc 100644 --- a/Scripts/kext_maestro.py +++ b/Scripts/kext_maestro.py @@ -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")