Fixing CFG Lock - l1n-dev/Dell-Inspiron-14-5490-OpenCore GitHub Wiki

I got this info from over here. All credits go to Dortania (and the dreamwhite guide too).

This guide is only recommended for users who have already installed macOS.
For users who are installing for the first time enable AppleXcpmCfgLock under Kernel -> Quirks.


CFG Lock? Disabling? What?

So basically CFG-Lock is a setting in your BIOS that allows for a specific register(in this case the MSR 0xE2) to be written to. By default, most motherboards lock this variable with many even hiding the option outright in the GUI. And why we care about it is that macOS actually wants to write to this variable, and not just one part of macOS. Instead both the Kernel (XNU) and AppleIntelPowerManagement want this register.

So to fix it we have 2 options:

  1. Patch macOS to work with our hardware
  • This creates instability and unnecessary patching for many
  • The 2 patches we use for this:
    AppleCpuPmCfgLock for AppleIntelPowerManagement.kext
    AppleXcpmCfgLock for the Kernel(XNU)
    AppleXcpmExtraMsrs for Extra XNU patches
  1. Patch our firmware to support MSR E2 write
  • Very much preferred, as avoids patching allowing for greater flexibility regarding stability and OS upgrades

Alright, I get it. How do you disable it?

First, you need to check if your CFG-Lock is enabled. This is usually done with ControlMsrE2 from OpenCore.


Checking if CFG Lock is enabled

Step 1: Download ControlMsrE2.efi and drag it to EFI\OC\Tools.
Step 2: Reboot, and select ControlMsrE2.efi from the picker.

You might need to press Space Bar first.

Step 3: Watch the output
If you get something like:

This firmware has LOCKED MSR 0xE2 Register

Then proceed to the next section.
However if you get something like:

This firmware has UNLOCKED MSR 0xE2 Register

That means you're all golden, no need to proceed.


Disabling CFG-Lock

Look guys, I'm really tired today, so y'all can refer to the dreamwhite guide for disabling it.


Notes

This Dell laptop always reports a locked register, but if you check with Grub shell, it will report disabled. Still have no idea on why that happens.