HP/HPE CPU Microcode Patch Support Information (Type 199)
Source: dmidecode, dmioem.c, and the dumps of the data corpus.
Lists the CPU microcode patches the firmware carries. Patches run to the end of the structure, which carries no number of them of its own. dmidecode decodes the structure from Gen9 onwards, while the older servers of the data corpus carry the same layout.
| Offset | Version | Name | Length | Value | Description |
|---|---|---|---|---|---|
|
2.0+ |
Type |
|
|
HP/HPE CPU Microcode Patch Support Information indicator |
|
2.0+ |
Length |
|
Varies |
Length of the structure |
|
2.0+ |
Handle |
|
Varies |
|
|
2.0+ |
Patches |
12 BYTEs each |
Varies |
Patches, see below |
| Offset | Name | Length | Description |
|---|---|---|---|
|
Patch ID |
|
Microcode revision |
|
Date |
|
Release date in binary-coded decimal, |
|
CPUID |
|
Processor signature (CPUID leaf 1 EAX) the patch applies to. AMD platforms leave the base family out, see below |
AMD platforms leave out the byte of the signature which holds the base family, bits 8 to 15, and move the bytes above it down by one. The base family is 15 on all AMD processors from the Athlon 64 onwards, whose extended family tells them apart, so the signature is put back by taking 15 for the base family, the way dmidecode does:
-
bits 0 to 7 are taken from byte 0;
-
bits 8 to 15 are set to
0x0F; -
bits 16 to 23 are taken from byte 1;
-
bits 24 to 27 are taken from the low nibble of byte 2.
The signature put back is valid for the families of 15 onwards only.