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.

Table 1. HP/HPE CPU Microcode Patch Support Information structure
Offset Version Name Length Value Description

0x00

2.0+

Type

BYTE

199

HP/HPE CPU Microcode Patch Support Information indicator

0x01

2.0+

Length

BYTE

Varies

Length of the structure

0x02

2.0+

Handle

WORD

Varies

0x04

2.0+

Patches

12 BYTEs each

Varies

Patches, see below

Table 2. Patch
Offset Name Length Description

0x00

Patch ID

DWORD

Microcode revision

0x04

Date

DWORD

Release date in binary-coded decimal, 0xMMDDYYYY, as the microcode header gives it

0x08

CPUID

DWORD

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.