Jump to content
18 posts in this topic

Recommended Posts

## **What These Universal Patches Do:**

 

### **1. CPU Ratio Extension** (`83F80F7F` `83F83C7F`)

- **Before**: `cmp eax, 0xF` (15 = 1.5 GHz limit)

- **After**: `cmp eax, 0x3C` (60 = 6.0 GHz limit)

- **Effect**: Allows much higher turbo ratios on all Intel CPUs

#### **Purpose**

This patch modifies the kernel code that checks for valid CPU multiplier (ratio) values. By default, macOS may restrict the maximum ratio your CPU can use. This patch expands the allowed range, enabling higher turbo boost frequencies, especially on overclocked or "K-series" CPUs.

 

#### **Technical Details**

*   **Find:** `83 F8 0F 7F`

    *   This is the assembly instruction for `cmp eax, 0x7F0F`. It's checking if the CPU ratio is within a specific, limited range.

*   **Replace:** `83 F8 3C 7F`

    *   This changes the instruction to `cmp eax, 0x7F3C`, significantly increasing the upper limit of the allowed ratio range (from `0x0F` to `0x3C`).

 

#### **Who Needs It?**

*   Users with unlocked Intel CPUs (e.g., K-series like i7-10700K, i9-10900K).

*   Anyone who has overclocked their CPU and wants macOS to recognize and use the higher multipliers.

*   Users who notice their CPU is not reaching its maximum advertised turbo frequency in macOS, even though it does in Windows.

### **2. Power Limit Bypass** (`7410` `EB10`)

- **Before**: `jz +0x10` (jump if power limit reached)

- **After**: `jmp +0x10` (always jump, bypass power limit)

- **Effect**: Prevents artificial power throttling

#### **Purpose**

This patch bypasses the kernel's enforcement of Intel's power limits (PL1 and PL2). PL1 is the long-term sustained power limit, and PL2 is the short-term turbo power limit. When this patch is applied, the CPU can draw more power for longer durations, preventing it from downclocking under heavy, sustained loads.

 

#### **Technical Details**

*   **Find:** `74 10`

    *   This is a `jz` (Jump if Zero) instruction. It checks a condition and, if met, jumps to a code section that enforces the power limit, effectively throttling the CPU.

*   **Replace:** `EB 10`

    *   This changes the instruction to `jmp` (Unconditional Jump). It forces the code to always skip the throttling section, bypassing the power limit check entirely.

 

#### **Who Needs It?**

*   Users experiencing CPU throttling during sustained workloads like video rendering, compiling code, or running benchmarks.

*   Systems with robust cooling solutions that can handle the extra heat from unlimited power draw.

*   Anyone seeking maximum multi-core performance from their CPU in macOS.

 

## **Compatible With:**

- **All Intel Core i3/i5/i7/i9 CPUs**

- **All Intel Xeon CPUs**

- **All macOS versions** (10.8+ with XCPM)

- **Both Desktop and Mobile CPUs**

Universal XCPM Patches for All Intel CPUs.plist

 

 

Multiple CPU Patches.plist

 

Here is a detailed Multiple CPU patches:

1. Intel 12th/13th/14th Gen (Alder Lake, Raptor Lake, Raptor Lake Refresh)

  • Comment: Intel 12th/13th/14th Gen (Alder Lake, Raptor Lake, Raptor Lake Refresh) N.Mano
  • Function: Prevents a kernel panic during early boot on modern Intel hybrid architecture CPUs.
  • Kernel Range: macOS Monterey (21.0.0) to the latest foreseeable macOS Tahoe (25.2.99).
  • Binary Patch: 74 10EB 10
    • 74 10: Jump 16 bytes if zero (conditional).
    • EB 10: Jump 16 bytes unconditionally.

2. AMD Ryzen CPUs

  • Comment: Ryzen Power Management N.Mano
  • Function: Bypasses a power management check for AMD Ryzen systems, which is crucial for stability as Apple does not support these CPUs.
  • Kernel Range: macOS Big Sur (19.0.0) to macOS Tahoe (25.2.99).
  • Binary Patch: 74 12EB 12
    • 74 12: Jump 18 bytes if zero.
    • EB 12: Jump 18 bytes unconditionally.

3. Intel 8th/9th Gen (Coffee Lake)

  • Comment: Coffee Lake Power Limit N.Mano
  • Function: Addresses a power limit reporting issue that can cause a kernel panic on Coffee Lake CPUs.
  • Kernel Range: macOS Mojave (18.0.0) to macOS Tahoe (25.2.99).
  • Binary Patch: 74 0FEB 0F
    • 74 0F: Jump 15 bytes if zero.
    • EB 0F: Jump 15 bytes unconditionally.

4. Intel 10th/11th Gen (Comet Lake / Rocket Lake)

  • Comment: Comet Lake/Rocket Lake Power Limit N.Mano
  • Function: Similar to the Coffee Lake patch, this prevents a panic related to power management for Comet Lake and Rocket Lake CPUs.
  • Kernel Range: macOS Big Sur (19.0.0) to macOS Tahoe (25.2.99).
  • Binary Patch: 74 11EB 11
    • 74 11: Jump 17 bytes if zero.
    • EB 11: Jump 17 bytes unconditionally.

Clover.plist

 

 

Bios setting.zip

 

Quirks setting.plist

 

Warnings and Best Practices

  • Backup Your Config: Always make a backup of your config.plist before making any changes.

  • Verify Your CPU: Be absolutely certain of your CPU generation before applying these patches. Using the wrong patch can cause boot failures.

  • System Stability: While these patches prevent a panic, they do not provide native power management. You should use additional tools and SSDTs (e.g., CPUFriend, CpuTscSync) for proper CPU power management, speed shift, and sleep/wake functionality.

 

Edited by nmano
  • Like 6
  • Thanks 2
15 minutes ago, luxinhaus said:

@nmanoAll intel cores gen?

Yes.

  • Like 2
29 minutes ago, luxinhaus said:

Thanks @nmano

Im using KernelXCPM in Clover. Should i disable it?

OC

For Most Users

AppleCpuPmCfgLock: false
AppleXcpmCfgLock: false  
AppleXcpmForceBoost: false

 

For Performance Systems

AppleCpuPmCfgLock: false
AppleXcpmCfgLock: false
AppleXcpmForceBoost: true

 

When CFG Lock Can't Be Disabled

AppleCpuPmCfgLock: true
AppleXcpmCfgLock: true
AppleXcpmForceBoost: false

Edited by nmano
  • Like 3
  • Thanks 1
14 hours ago, nmano said:

## **What These Universal Patches Do:**

 

### **1. CPU Ratio Extension** (`83F80F7F` `83F83C7F`)

- **Before**: `cmp eax, 0xF` (15 = 1.5 GHz limit)

- **After**: `cmp eax, 0x3C` (60 = 6.0 GHz limit)

- **Effect**: Allows much higher turbo ratios on all Intel CPUs

#### **Purpose**

This patch modifies the kernel code that checks for valid CPU multiplier (ratio) values. By default, macOS may restrict the maximum ratio your CPU can use. This patch expands the allowed range, enabling higher turbo boost frequencies, especially on overclocked or "K-series" CPUs.

 

#### **Technical Details**

*   **Find:** `83 F8 0F 7F`

    *   This is the assembly instruction for `cmp eax, 0x7F0F`. It's checking if the CPU ratio is within a specific, limited range.

*   **Replace:** `83 F8 3C 7F`

    *   This changes the instruction to `cmp eax, 0x7F3C`, significantly increasing the upper limit of the allowed ratio range (from `0x0F` to `0x3C`).

 

#### **Who Needs It?**

*   Users with unlocked Intel CPUs (e.g., K-series like i7-10700K, i9-10900K).

*   Anyone who has overclocked their CPU and wants macOS to recognize and use the higher multipliers.

*   Users who notice their CPU is not reaching its maximum advertised turbo frequency in macOS, even though it does in Windows.

### **2. Power Limit Bypass** (`7410` `EB10`)

- **Before**: `jz +0x10` (jump if power limit reached)

- **After**: `jmp +0x10` (always jump, bypass power limit)

- **Effect**: Prevents artificial power throttling

#### **Purpose**

This patch bypasses the kernel's enforcement of Intel's power limits (PL1 and PL2). PL1 is the long-term sustained power limit, and PL2 is the short-term turbo power limit. When this patch is applied, the CPU can draw more power for longer durations, preventing it from downclocking under heavy, sustained loads.

 

#### **Technical Details**

*   **Find:** `74 10`

    *   This is a `jz` (Jump if Zero) instruction. It checks a condition and, if met, jumps to a code section that enforces the power limit, effectively throttling the CPU.

*   **Replace:** `EB 10`

    *   This changes the instruction to `jmp` (Unconditional Jump). It forces the code to always skip the throttling section, bypassing the power limit check entirely.

 

#### **Who Needs It?**

*   Users experiencing CPU throttling during sustained workloads like video rendering, compiling code, or running benchmarks.

*   Systems with robust cooling solutions that can handle the extra heat from unlimited power draw.

*   Anyone seeking maximum multi-core performance from their CPU in macOS.

 

## **Compatible With:**

- **All Intel Core i3/i5/i7/i9 CPUs**

- **All Intel Xeon CPUs**

- **All macOS versions** (10.8+ with XCPM)

- **Both Desktop and Mobile CPUs**

Universal XCPM Patches for All Intel CPUs.plist 1.5 kB · 18 downloads

 

Clover.plist 1.7 kB · 4 downloads

 

 

Bios setting.zip 5.77 kB · 9 downloads

 

Quirks setting.plist 328 B · 1 download

 

These 2 patches provide the core XCPM optimizations that benefit all Intel CPUs without any CPU-specific limitations or conflicts!

@nmano good information. How does this patch interact with the usage of CPUFriendFriend?

  • Like 1
30 minutes ago, jlrycm said:

@nmano good information. How does this patch interact with the usage of CPUFriendFriend?

Its new patch.please test.

Thanks.

OpenCore Configuration with Both.plist

Edited by nmano

@nmano, does this work for the Arrow Lake CPU gen?

Quirks AppleCpuPmCfgLock && AppleXcpmCfgLock can always be enabled. This is safe and has no effect if CFG Lock is disabled in the BIOS.

Edited by verdazil
  • Like 1
2 minutes ago, pico joe said:

sorry if I miss perception, if we use this patch we don"t need again cpufreinds etc?

These are different things. Patches only remove restrictions, while "friends" give the processor tips on how to manage power.

  • Like 5
  • Thanks 1
17 hours ago, verdazil said:

These are different things. Patches only remove restrictions, while "friends" give the processor tips on how to manage power.

@verdazil thanks, I will give a try to these patches as I have the i9-10900k. 
 

and I’ll verify how did I define the following quirks in my config file as I don’t remember @nmano- when you say “performance”, do you mean HEDT CPUs like Xeons or do you also include the i9-10900k in said group?

 

AppleCpuPmCfgLock: false
AppleXcpmCfgLock: false
AppleXcpmForceBoost: true

Edited by jlrycm
23 hours ago, jlrycm said:

@verdazil thanks, I will give a try to these patches as I have the i9-10900k. 
 

and I’ll verify how did I define the following quirks in my config file as I don’t remember @nmano- when you say “performance”, do you mean HEDT CPUs like Xeons or do you also include the i9-10900k in said group?

 

AppleCpuPmCfgLock: false
AppleXcpmCfgLock: false
AppleXcpmForceBoost: true

Never mind, I confirmed performance mean Xeons in the context of the OpenCore configuration guide.

  • Like 2

Brought my 9700K Geekbench score up a solid 200 points. Well done! Running the 2 - XCPM Patches and the 1 - Coffee lake patch. Disabled CPUFriend. Would you recommend anything different for adding CPUFriend back? And would adding AppleXCPMForceBoost - TRUE help?

Screenshot 2025-11-23 at 7.36.14 AM.png

EFI-Z390 11.23.25.zip

  • Like 3
On 11/20/2025 at 6:43 PM, nmano said:

Would a different patch be needed with using CPUFriend and CoffeeLake patches?

  • Like 2

Complete Guide: Fixing 128-Core Bug & XCPM for i9-13900K Hackintosh

 

  • machdep.cpu.cores_per_package: 128 (should be 24)

  • hw.physicalcpu: 8 (should be 24)

  • hw.logicalcpu: 24 (correct!)

  • machdep.xcpm.mode: 0 or 1 (1 = working)

Step 1: Check Current Status

sysctl machdep.cpu.cores_per_package hw.physicalcpu hw.logicalcpu machdep.xcpm.mode kern.bootargs

 

Step 2:Verify CPU Topology

echo "=== CPU TOPOLOGY ==="
echo "Cores per package: $(sysctl -n machdep.cpu.cores_per_package 2>/dev/null || echo 'N/A')"
echo "Physical CPUs: $(sysctl -n hw.physicalcpu)"
echo "Logical CPUs: $(sysctl -n hw.logicalcpu)"
echo "XCPM Mode: $(sysctl -n machdep.xcpm.mode 2>/dev/null || echo '0')"

Required SSDTs

EFI/OC/ACPI/
├── SSDT-PLUG.aml (or SSDT-PLUG-ALT.aml)
├── SSDT-EC-USBX.aml
├── SSDT-AWAC.aml (if needed)
└── SSDT-PMC.aml (for NVRAM)

REQUIRED KEXTS

 

EFI/OC/Kexts/
├── Lilu.kext 
├── VirtualSMC.kext 
├── WhateverGreen.kext 
├── AppleALC.kext 
├── RestrictEvents.kext 
├── CPUFriend.kext 
└── CPUFriendDataProvider.kext

My Result  Step2

z790@Z790s-Mac-Pro ~ % echo "=== CPU TOPOLOGY ==="

echo "Cores per package: $(sysctl -n machdep.cpu.cores_per_package 2>/dev/null || echo 'N/A')"

echo "Physical CPUs: $(sysctl -n hw.physicalcpu)"

echo "Logical CPUs: $(sysctl -n hw.logicalcpu)"

echo "XCPM Mode: $(sysctl -n machdep.xcpm.mode 2>/dev/null || echo '0')"

=== CPU TOPOLOGY ===

Cores per package: 128

Physical CPUs: 8

Logical CPUs: 24

XCPM Mode: 1

z790@Z790s-Mac-Pro ~ %

 

My Result  Step1

machdep.cpu.cores_per_package: 128

hw.physicalcpu: 8

hw.logicalcpu: 24

machdep.xcpm.mode: 1

kern.bootargs: alcid=12 -amfipassbeta -wegnoigpu -cpus 24 -alcbeta -wegbeta -lilubetaall npci=0x2000 debug=0x100 keepsyms=1

z790@Z790s-Mac-Pro ~ %

Edited by nmano
  • Like 2
×
×
  • Create New...