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:
- Patch macOS to work with our hardware
- This creates instability and unnecessary patching for many
- The 2 patches we use for this:
AppleCpuPmCfgLock
forAppleIntelPowerManagement.kext
AppleXcpmCfgLock
for the Kernel(XNU)
AppleXcpmExtraMsrs
for Extra XNU patches
- 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.