Contribute
Register

New UEFIPatch patches! Unlock 0xE2, 0x1AA (boot Catalina without any kernel patches, native power mgmt) on C422, C620, and some X299 motherboards!

Joined
Jul 23, 2011
Messages
55
Motherboard
Supermicro X11DAi-N
CPU
2x 8260M
Graphics
Radeon VII
Mac
  1. Mac Pro
Classic Mac
  1. Classic
  2. Power Mac
  3. PowerBook
  4. Quadra
  5. SE
Mobile Phone
  1. iOS
Hi, I have added 4 new patches to UEFIPatch which add support for several C422 and C621/C622 based motherboards running a Skylake or Cascade Lake HEDT+ CPU(s). These motherboards are either Socket LGA2066 (Xeon W2xxx and Core i9 CPUs) in the case of the C422, or LGA3647 (Xeon 3xxxW/Xeon Scalable 1st and 2nd gen) with the C620 series.

I do not know if these patches will unlock all of the motherboards based on these chipsets, but they certainly work on several different BIOS images that I tried, specifically ASUS C422 motherboards. They also work on Supermicro motherboards with either chipset. And, to my surprise, they even worked on an X299 based motherboard from Asus. I would be surprised if they work on every motherboard with these chipsets, but they are generalized enough that they could potentially work a fairly long list of motherboards.

These patches patch the BIOS so it does not lock the 0xE2 MSR as well as the 0x1AA MSR. If your motherboard is supported, at a minimum you should see UEFIPatch say it applied a patch that 'replaced 24 bytes'. This is the E2 unlock patch. You should also see a patch that 'replaced 28 bytes', which is the 1AA unlock patch. However, not every motherboard actually locks 1AA, so if this patch is missing, it doesn't necessarily mean that your motherboard is unsupported, but simply that it doesn't need the second patch. Of course, if your 1AA register is locked despite this (requiring kernel patches to boot as a result), then it unfortunately means my 1AA patch will not work for your motherboard.

Anyway, I've attached the updated UEFIPatch patches.txt file, to use it you simply replace the patches.txt file in the same directory as UEFIPatch with the file attached to this post. Then from the terminal, run:
./UEFIPatch <ROM/CAP/Bios Image file for your motherboard> -o <patched bios file name, can be whatever you want>
and if all goes well, it should find patches that work for your BIOS. Sometimes, there will be other parts of the BIOS that older UEFIPatch patches will patch, which is fine. So you might see 3 patches applied in some cases. Don't worry if you see this message: "parseFile: non-empty pad-file contents will be destroyed after volume modifications". This is normal and not an issue here, as none of these patches change the total size of the volume/image being patched. If you see "parseImageFile: Aptio capsule signature may become invalid after image modifications", then you won't be able to flash the modified BIOS if your motherboard verifies the signature of the file before flashing it. Fortunately, all that will happen if you try to flash the modded BIOS is that it will refuse to flash it.

Depending on your motherboard, there may be ways around the signature verification (BIOS unlock), or to use an external hardware programmer, but that is well beyond the scope of this post. Do your research though, there may be solutions to such problems!
:)


I've created a pull request to add these patches officially to UEFIPatch, but until or if they're accepted, you'll have to use the attached patch.txt file, the one included with UEFIPatch does not include my new patches.


Please, let me know if these work or don't work for your motherboard. It would be nice to start a list of supported BIOSes/motherboards, and if yours isn't supported, let me know and I'll see if there is a good way to add support for it. My own free time permitting, of course.

This is by no means an exhaustive list, but I believe it will work for the following motherboards (at least):

  • Asus WS C422 PRO/SE
  • Asus PRIME X299-A
  • Asus WS C422 SAGE/10G
  • Supermicro X11 Series LGA2011 & LGA3647 single and multisocket motherboards
  • Maybe your motherboard?

Enjoy!
 

Attachments

  • patches.txt
    3.3 KB · Views: 269
Joined
Dec 27, 2019
Messages
2
Motherboard
Asrockrack EP2C621D12WS C620 series chipset - A1C1 64KB
CPU
Intel Xeon Platinum 8175M @2.5Ghz x2
Graphics
Nvidia Quadro P5000, AMD RX 5700XT, ASPEED 2500
Mac
  1. iMac
It's not work well for my Asrock EP2C621D12WS. Can you help me.
 

Attachments

  • 2P621WS2.10.zip
    8.3 MB · Views: 45
Joined
Aug 2, 2015
Messages
4
Motherboard
z97
CPU
g3258
Graphics
gtx870m
Mac
Classic Mac
Mobile Phone
Asrockrack C621D8a ,after patch,can not be boot,o_O
 
Joined
Apr 11, 2014
Messages
33
Motherboard
ASUS X299 SAGE/10G
CPU
i9-7980XE
Graphics
Radeon VII
Any chance to add C621 to the patch list? Seems like the C620 and C621 are a bit different.
 
Joined
Oct 4, 2018
Messages
25
Motherboard
Gigabyte C246-WU4
CPU
Xeon E-2278G
Graphics
Radeon Pro WX7100
Mac
  1. MacBook Pro
  2. Mac mini
Hello,

I tried your patches on the latest BIOS F8 for a Gigabyte C621-SU8.

Code:
$ ./UEFIPatch SU8F8.bin -o SU8F8p.bin
parseFile: non-empty pad-file contents will be destroyed after volume modifications
patch: replaced 14 bytes at offset 739h 0F3248C1E220480BC2BA00800000 -> 0F3248C1E220480BC2BA00000000
patch: replaced 19 bytes at offset 2FA1h B9AA0100000F3248C1E220480BC2BA00200000 -> B9AA0100000F3248C1E220480BC2BA00000000
Image patched

Both of your E2 and 1AA patches appear to have been applied, but in shorter forms than the expected 24 and 28 bytes.
Should I worry, or just proceed to flash the patched BIOS and try to boot MacOS on the board?
 
Last edited:
Joined
Oct 4, 2018
Messages
25
Motherboard
Gigabyte C246-WU4
CPU
Xeon E-2278G
Graphics
Radeon Pro WX7100
Mac
  1. MacBook Pro
  2. Mac mini
After applying the patched BIOS, MSR 0xE2 is indeed unlocked. OpenCore 0.6.5 proceeds further with the boot, even with both xcpm quirks disabled, so I assume that 0x1AA is also unlocked.
It seems that
  • Gigabyte C621-SU8
may be added to the list of motherboards for which the patches work.

I'm currently stuck after loading ACPI tables. It seems that wrapping CPU devices into old-style CPU objects with a SSDT may be the solution.
 

phl

Joined
Jun 30, 2011
Messages
9
Motherboard
ASUS X99 WS/LPMI
CPU
E5-1650 v3
Graphics
Vega 56
Mac
  1. MacBook Pro
  2. Mac mini
Mobile Phone
  1. iOS
@etorix I just got the same Board, I am currently running Linux on it, but plan to replace my x99 System with it.
Didi you had any luck with the SSDT so far? I would be really interested in a solution.

Did not use the patches.txt so far. Will try it this week :)
 

Attachments

  • IMG_0577.jpeg
    IMG_0577.jpeg
    211.2 KB · Views: 16
Joined
Oct 4, 2018
Messages
25
Motherboard
Gigabyte C246-WU4
CPU
Xeon E-2278G
Graphics
Radeon Pro WX7100
Mac
  1. MacBook Pro
  2. Mac mini
@phl My attempts are documented on another forum, where @metacollin discussed his findings on C621 with other hackintoshers on C422 HEDT platforms. At this point I can boot pre-existing Mojave and Catalina installations, but not update them or run an installer.

After loading ACPI tables OS X fails to find a "processor" object and stalls. No CPU, no boot. Metacollin explained that this requires wrapping ACPI 6.3 CPU "objects" into old-style "processors". Here is the code of my wrapping SSDT, which would warrant a review by an ACPI expert but works for me. Then, you'd need boot-arg "ncpi=0x2000" to complete PCI initialisation, and a suitable injector to get USB 3.0 ports from the chipset—best use a USB 2.0 port or one of the red ports from ASM2142.

What BIOS version are you on? If it's older than F8, I'd be interested to see the (whole) ACPI folder dumped by Misc>Debug>SysReport using the DEBUG version of OpenCore and compare with mine. Running UEFIPatch on the BIOS file is harmless anyway, but a patched BIOS will only allow you to omit both xcpm quirks.
 

Attachments

  • SSDT-CPU-WRAP-C621SU8.dsl.zip
    11.6 KB · Views: 10
  • XHCI-unsupported.kext.zip
    2.7 KB · Views: 11
Top