Intel AlderLake/Rocketlake AVX-512 Enable/Disable

could these msr be inited via dxe phase? so we can write a dxe driver to check e-core state and set the msr, to avoid the dangerous.

update feb 1st 2024: tested with msi z690 and 12700k, replaced microcode version 0x16. it can post with e-core enabled.
only alter siinitfsp pei, 24 01 and al, 1 → 24 00 and al, 0.
avx2 / avx512 option in bios become useless after modification.
e-core enabled = avx2 on, avx512 off; e-core disabled = avx2 / avx512 on.

update feb 2nd 2024: tested with asrock z690 and 13900k, siinitfsp altered.
rdmsr give the 0xAF == 0x0, seems no dangerous.
before modification MSR 0xAF == 0x2.

2 Likes

I can confirm that the Gigabyte B660M Gaming X DDR4 motherboard BIOS can be modded successfully to enable AVX-512 using the instructions from the very beginning of this post around November 2021 by RussianE39. However, you will need to drop right back to the BIOS revision of F2. I did try BIOS revision F3 first as it was the BIOS that came with the board (which I purchased in January 2023) but it was unsuccessful.

Doing a side by side comparison of CPU Patch data on both BIOS revisions F2 and F3, shows the only change in size is that of CPU ID 0672. BIOS revision F2 displays CPU ID 0672 as Update Revision 15 (hexadecimal) with a size of 2F800 (hexadecimal). BIOS revision F3 displays CPU ID 062 as Update Revision 1A (hexadecimal) with a size of 33800 (hexadecimal). An increase of 4000 (hexadecimal) or 16 kilobytes. The additional code seems to disable/circumvent the modding described at the beginning of this post!

I only used MMTool_v5.02.0025 to extract the FSS modules to files (extract uncompressed), do the mods with a binary editor, replace the modules with the modded modules and then saved the BIOS file which I then flashed. On the Gigabyte B660M Gaming X DDR4 motherboard you will need to have the panel off your case in order to get to the QFLASH PLUS Button which is located next to one of the USB2 headers on the board itself (not the back panel).

The CPU I used was an i3 12100F. So no efficiency cores!

Another board I purchased recently that worked out of the box without any modding is the ASRock B760M PG Riptide WiFi…

Thanks @dsanke

From your post I was able to get AVX512 working with my 12700K on an MSI Z790 Tomahawk

Steps followed:

  • Downloaded BIOS from MSI website
  • Used MMTool to remove the 0672 microcode
  • Added 0x15 microcode
  • Used MMTool to Export SiInitFsp (uncompressed)
  • Used hex editor to change “1A 24 01 8B E5” to “1A 24 00 8B E5” in SiInitFsp file
  • Used MMTool to Replace SiInitFsp with modified file
  • Saved Image, renamed to MSI.BIN, copied to USB and used Flash BIOS button on back of board

Works exactly how you said it would, can post and run with E-core enabled or disabled, and AVX512 is enabled automatically if the E-cores are disabled.

Nicely done, thanks for sharing.

2 Likes

Hi everyone, since - as a content creator - I really need to take advantage of AVX-512 (for FFMPEG-workloads mainly), I’m going to unlock my Gigabyte Z690 UD DDR4 (rev. 1.x) to re-enable them using the @thanghn90 method.

However, since it does not appear to have been cited yet here, I’d like to point out that according to this article not all Alders physically holds (dormant) AVX-512s:
“Every CPU that has a halo/circle marking on top of the word Intel on the IHS will have AVX-512 support, and all rectangle/square ish marking CPUs will have it disabled by Intel”

Mine (i5-12600 without E-cores) does, but I still have some doubts about the mod:

  • which are the risks of using an outdated microcodes version?
  • wouldn’t be possible to mod latest microcodes to unhibit the AVX-512?
  • I guess I’ll have to apply the mods to every new BIOS update, right?
  • even my CPU is not affected by, removing the microcodes also affects known Intel voltage issues ?

Thanks in advance for all clarifications you can/will provide.