Decode the following HPE OEM records: 199: CPU Microcode Patch. The 199 record contains a variable number of the tuple:
{ <DWORD: Patch ID, DWORD Date, DWORD CPU ID> ... } Which are taken from the patch header and describe the revision of the microcode patch. The CPU ID cooreponds to the "ID" field of type 4 records. As a given BIOS can support multiple CPU SKUs, the BIOS may contain patches for CPUs not present on the system. ===== Changes for v2 ===== o Depends upon the in progress patch to create function dmi_print_cpuid() so we can print the CPU ID in human friendly form. o Print date in ISO 8601 format: YYYY-MM-DD o Use pr_attr/pr_subattr to visually group the individual ucode patches. o Print patch id in 0x%x format to be consistent with intel documentation. o Change order of fields to have CPU ID 1st, then date, then patchid. ===== Changes for v3 ===== o The CPUID field on AMD patches isn't the output of the CPUID instruction to match against like Intel. Rather for AMD one compares against: ((Extended Family ID | Extended Model Id) >> 8) | (Model ID|Stepping ID) In general, this would not be invertiable, except in the decode of 199: a. We know that the chip is either Intel or AMD. b. Proliant that we're decoding the OEM 199 record on don't have the older AMD processors which have family <= 15. This allows us to reconstruct the CPUID by suppling the base family. o restrict to Gen9 and later. ===== Changes for v4 ===== o return 0 if (gen < G9). o change comment from "//" to "/* ... */" o Fix two double spaces. Note: Depends upon Jean's in progress 4-Mar patch to create function dmi_print_cpuid(). Jerry Hoemann (1): dmioem: HPE OEM Record 199 dmioem.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) -- 2.31.1 _______________________________________________ https://lists.nongnu.org/mailman/listinfo/dmidecode-devel