sysutils/cpu-microcode-intel: Handle extended signature tables
Intel microcode files can contain an extended signature table after the
main payload, listing additional processor signatures and platform flag
combinations that are covered by the same microcode blob.
ucode-split was only reading the primary header signature when naming
output files and ignored the extended table entirely. As a result,
processors whose signature appeared only in an extended table entry had
no matching split file in ${DATADIR} and therefore no microcode via
cpucontrol(8).
This affected a number of CPU families in the current release, including
Raptor Lake (06-bf-02/05/06/07, Core Gen13/Gen14), Sapphire Rapids
steppings E0-E3 (06-8f-04 through 06-8f-07), Arrow Lake-H (06-c5-02),
Panther Lake (06-cc-02/03), and others.
Extend ucode-split to read the extended signature table and write an
additional output file for each entry.
PR: 295351
Reported by: fastboot <255.255.255.255@web.de>
Reviewed by: markj, sbruno
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57046