LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   About CMC and CPU Microcode? (https://www.linuxquestions.org/questions/linux-hardware-18/about-cmc-and-cpu-microcode-909145/)

ErEn 10-20-2011 06:55 AM

About CMC and CPU Microcode?
 
Hey all,

I own a board with Intel System Controller Hub(SCH) US15W with a Z510 Atom processor.
I am trying to setup coreboot on it and need the Chipset Microcode(CMC) binary for the device.

But I am confused about something, does it mean the same, I mean are "Intel SCH Chipset Microcode(CMC)" and "CPU microcode" the same?
Or are there seperate microcodes for the SCH chipset and the CPU? I have seen people talking about the CPU microcodes, but not seen any Chipset Microcode(CMC) in the internet except Intel's website..

Thanks in advance.

onebuck 10-20-2011 02:54 PM

Hi,

Chipset microcode is the code that is used to configure the processor. Microcode is provided by the Chipset maker and generally modified via BIOS setting(s) not directly modifiable by the end user. The manufacture would have to create another codeset to make changes to the already coded chipset (BIOS).
Below is just one example of microcode use;
Quote:

From Intel;
Symptom(s):

  • Error: "Microcode update required"
  • Error: "Microcode was not found in the system BIOS for the installed CPU"
  • Error: "BIOS update data incorrect"
  • microcode update
Cause:
Intel® processors allow for minor software updates from within the motherboard BIOS specific to the stepping of the installed processor. The processor stepping is similar to a hardware version. As minor modifications are made to the processor design, such as errata corrections, the stepping number is incremented. If the BIOS does not properly identify the processor stepping, a microcode update error may be encountered.
Solution:
To resolve a microcode update error, contact the system or motherboard manufacturer to obtain the appropriate BIOS update files and instructions.

Prior to installing a BIOS revision, verify the 'Allow BIOS Update' option is enabled in the BIOS (IF Applicable).

If the system or motherboard manufacturer does not provide BIOS update files, it is possible that the manufacturer has not or will not validate the motherboard for use with the processor that is being installed. In such an instance, the processor is incompatible with the motherboard.

This applies to: Intel® Celeron® Desktop Processor
Intel® Pentium® 4 Processors
Intel® Pentium® III Processor
Intel® Pentium® III Xeon® Processor
Intel® Xeon® Processor
The above is a reference to see what and how microcode is modified for a class of processors.

What about contacting the vendor/manufacture for the device to see if indeed the microcode can be modified or updated.
:hattip:

ErEn 10-21-2011 07:05 AM

Hey thanks for the information:)

I also found the way to get the Chipset Microcode(CMC) binary. In the Intel SCH specification document, it says that:
"The Chipset Microcode (CMC) base address locates within the LPC space and consumes
64 KB of space. The starting address for the CMC code can be FFFB0000h, FFFC0000h,
FFFD0000h, or FFFE0000h."
It also says that FFFD0000 is the default base address.

To get it from the vendor BIOS file(which is read by the flashrom utility previously), I needed a windoz machine.
So that the CBROM utility can be used like this:
C:\> CBROM32_195.EXE vendor_bios.bin /TOPHOLE:FFFD0000 extract

And that will create a "TOP_HOLE.bin" file, which is actually the CMC binary ;)

onebuck 10-21-2011 09:17 AM

Hi,

Glad to hear you have gotten things solved. You can mark this thread [SOLVED] via the thread tools. That is if you feel things are solved.
:hattip:


All times are GMT -5. The time now is 11:47 PM.