MC Extractor: Intel, AMD, VIA & Freescale Microcode Extraction Tool Discussion

I’m trying to update microcode:
cpu000206C2_plat03_ver0000001D_date04-08-2015.bin (thank you plutomaniac)
I’m using MMTOOL_3.22_1B_21Fix-BKMOD.EXE but i got error “This is not a valid CPU MicroCode Patch file”.
How can i fix it?
Here is link to my BIOS if needed:
http://dlcdnet.asus.com/pub/ASUS/mb/LGA1…E-ASUS-0908.zip

@ rygar:

It’s related to MMTool’s need of more padding as far as I remember. Check MCE’s github closed issues page as someone had asked the same thing some time ago.



Thank you for info. I found your old post on other forum. You should add additional 400bytes to file at the end and MMTool will work
:wink:

New Linux microcode pack from Intel, date 2017-07-07. Includes new Skylake-X fixes, and Kabi Lake fixes. This pack fixes the hyper-threading bug, although that fix was already in UBU :wink:

https://downloadcenter.intel.com/downloa…ocode-Data-File


[quote="Phoenix48, post:83, topic:31555"] No i don't have one. But because i post my Bios to the public, i feel it is my duty to at least try to have the Bios up to date in every aspect in it. Maybe someone will need that microcode in it. [/quote]

[quote="rygar, post:91, topic:31555"] Thank you plutomaniac for a great tool. I was bale to compile it under windows and i got some outdated files:
... [/quote]

Hi, here is my colection of LGA1366 microcodes (pre-Spectre + Spectre microcode):



The most important microcodes:

  • 106A4h = Nehalem C0 = Bloomfield (Core i7), Gainestown (Xeon 5500)
  • 106A5h = Nehalem D0 = Bloomfield (Core i7), Gainestown (Xeon 5500)
  • 206C2h = Westmere B1 = Gulftown (Core i7), Westmere-EP (Xeon 5600)


Other microcodes for ES/QS collectors:
  • 106Axh = Bloomfield, Gainestown
  • 206Cxh = Gulftown, Westmere-EP


Jasper Forest - optional microcodes:
  • low-cost energy efficient CPUs that was designed for microservers
  • 1-/2-/4-Core; DDR3-800/1066/1333 dual/triple channel with ECC support
  • Do not use these processors in desktop motherboards!
  • 106E0h (Jasper Forest ES-QS; LGA1366)
  • 106E1h (Jasper Forest ES-QS; LGA1366)
  • 106E3h (Jasper Forest ES-QS; LGA1366)
  • 106E4h (Xeon C3500-C5500 Celeron P1053; Jasper Forest B0; LGA1366)


//edit 17th September 2017: I just killed ASUS P6T WS Professional and Celeron P1053. Jasper Forest cores are not compatibile with desktop version of LGA1366. Never ever do that!


For more info, read X58 Xeon club thread on overclock.net.


Not related with LGA1366, you can delete from BIOS

  • 206Exh = Nehalem-EX (Beckton, LGA1567)
  • 206Fxh = Westmere-EX (EGL, WSM, Xeon E7, LGA1567)
  • 2065xh = Arrandale (Socket G1), Clarkdale (LGA1156)
  • 106E5h = Clarksfield (Socket G1), Lynnfield (LGA1156), Lynnfield Xeon (LGA1156)


Platform:
  • 01h = 0000 0001
  • 02h = 0000 0010
  • 03h = 0000 0011 (= contains 01h + 02h)
  • 09h = 0000 1001
  • 13h = 0001 0011

2018-04-16-latest-LGA1366.zip (2.17 MB)

How can i with this update the codes of my AMD 5750m?

Just as a sidenote, for those that always wondered what AMD x86 microcode used to look like from the inside (really!):

Reverse Engineering x86 Processor Microcode.

Abstract:
Microcode is an abstraction layer on top of the physical components of a CPU and present in most general-purpose CPUs today. In addition to facilitate complex and vast instruction sets, it also provides an update mechanism that allows CPUs to be patched in-place without requiring any special hardware. While it is well-known that CPUs are regularly updated with this mechanism, very little is known about its inner workings given that microcode and the update mechanism are proprietary and have not been throughly analyzed yet.

In this paper, we reverse engineer the microcode semantics and inner workings of its update mechanism of conventional COTS CPUs on the example of AMD’s K8 and K10 microarchitectures. Furthermore, we demonstrate how to develop custom microcode updates. We describe the microcode semantics and additionally present a set of microprograms that demonstrate the possibilities offered by this technology. To this end, our microprograms range from CPU-assisted instrumentation to microcoded Trojans that can even be reached from within a web browser and enable remote code execution and cryptographic implementation attacks.

Can someone please post this intel microcodes? Already found them in above posts.
cpu000006f1_plat00000027_ver00000012_date20051129.bin
cpu000006f4_plat000000f5_ver00000028_date20060417.bin
cpu000006fb_plat00000001_ver000000c1_date20111004.bin
cpu00010677_plat00000010_ver0000070b_date20111004.bin
cpu00010677_plat00000010_ver0000070d_date20150802.bin

Also it can be great if it will be possible to download somewhere all binary ucodes listed in database.
I have no idea where to get that versions I missed - for example, I have 462 unique intel microcodes and 58 AMD ones. And see that in database listed 1488 intel codes and 179 for AMD. For Intel - all that 462 are collected from all official intel microcode updates + files from rom.by + some other forums files + some m/b BIOSes. But there still less than 1/3 of all existing.

In case somebody need it - here is my collection: http://www.mediafire.com/file/hmz12icv3t…-microcodes.rar



Post updated - found what was needed on previous page of this thread. Also updated my collection with 40 Intel files.

In case somebody looking for a way to arrange microcode files by giving them a name that based on its content there is a short path:
- Use TotalCommander
- Get FirstByte plugin, version 0.4 [newer may be also supported], thanks to its author to make possible to do all described here in a single step in version 0.4, version 0.3 was needed much more steps.
- Fill its .ini file content with this:

1
2
3
4
5
6
7
8
 
[Config]
offset_0=0xc
offset_1=0x18
offset_2=0x4
offset_3=0x8
offset_4=0xb
offset_5=0xa
offset_6=0x10
 

- Restart TotalCommander
- Now you are able to mass-rename any set of intel microcode files with this macro (put it in name field of mass renamer tool integrated in TC):
1
 
cpu[=firstbyte.offset#0.dword(hex)]_plat[=firstbyte.offset#1.dword(hex)]_ver[=firstbyte.offset#2.dword(hex)]_date[=firstbyte.offset#3.word(hex)][=firstbyte.offset#4.byte(hex)][=firstbyte.offset#5.byte(hex)]_crc-[=firstbyte.offset#6.dword(hex)]
 


As a result there will be all selected files named like that, all numbers are taken from its content so there will be no misprint:
cpu00050671_plat00000078_ver000001ac_date20170404_crc-9765555d.bin

thanks b1Ack,
any idea where I get the following microcode, as it’s not included in a bunch of intel microcode.dat file since 2012:
“000306C1” “00000032” “FFFF0014” “20120725” “00006000” “E86E3EB1”

who can help to extract this microcode? 00100F22h is for phenom x3 8450
it’s very hard to install python for extract microcode from mc extractor

If you believe that you need to install Python to use MCE then you haven’t read the readme over at Github. Please do so.

who can help to extract this microcode? 00100F23h is for phenom x3 8450
it’s very hard to install python for extract microcode from mc extractor

Ok now i’ve watch how work
there is a problem, i don’t find 10F23 microcode, i know is for 16h family but in microcode_amd_fam16h.
Can you help?

I’ve wrong, is F23 and not F22

i have attached an image because i can’t extract that micorcode, i wrong?
help me thank in advance

microcode.PNG

There is no 00100F23 microcode update. AMD tends to change the CPUID reported by the processors and use a single mc update for many of them. Check the BIOS to see what microcode it has loaded or tools such as HWiNFO.




this is the cpu http://www.cpu-world.com/CPUs/K10/AMD-Ph…BOX).html#cpuid
I can not read from the software because I did not install the cpu, I was just trying to detect the cpu to an am2 motherboard that does not support it natively


I don’t know what CPUID the processor actually exposes to the system so the specs don’t help. Maybe look at the BIOS of a motherboard which does support it, based on the CPU Compatibility list by the OEM, and check out what’s different or missing.

Hello guys!
Do you have a new microcodes for pentium n4200 (cpuid 506c9)?
how can i update it if i have insyde h2o rev 5.0 ?
uefi bios updater says that inside h20 it does not support :frowning:
please help



How to use this files? Is it only for Linux. But proc has this bug, it does not depent from os. I use windows. How can I fix this bug if UBU does not work for me. I dowload this files and what next?
Thanks in advance

Sorry for so many posts.
I try to dowload executable mce but in archive it is exe and db but no microcodes. Where can I dowload microcodes?
plutomaniac please give your microcode files for dowloading.
I am interesting in kaby lake mobile (platform 22) and apollo lake processors and haswell mobiletoo
Thanks for your patience!!!