[PATCH 00/14] IFS multi test image support and misc changes

Jithu Joseph
2022-10-21T20:39:59Z

Initial implementation of IFS driver assumed a single IFS test image
file with a fixed name.

Subsequently, it became evident that supporting more than one
test image file is needed to provide more comprehensive
test coverage. (Test coverage in this scenario refers to testing
more transistors in the core to identify faults).

This series makes the driver aware of multiple scan test image files,
modifies IFS test image file headers to make it fully compatible
with microcode headers and adds a few other bug fixes and changes.

Patch organization:
Patches 1, 2, and 3: bug fixes
Patch 4: Removes image loading during init path
Patch 5, 6 and 7: exports a couple of microcode/intel.c functions
for use by driver
Patch 8: Adds Meta-data support in microcode file

Rest of them are IFS driver changes
Patches 9 and 10: IFS header format changes to make it fully compatible
to intel microcode header format
Patches 11, 12 and 13: native support for multiple scan test image files
Patch 14: reverts the broken flag

Ashok Raj (1):
x86/microcode/intel: Meta-data support in microcode file

Jithu Joseph (13):
platform/x86/intel/ifs: Remove unused selection
platform/x86/intel/ifs: Propagate load failure error code
platform/x86/intel/ifs: return a more appropriate Error code
platform/x86/intel/ifs: Remove image loading during init
x86/microcode/intel: Expose find_matching_signature() for IFS
x86/microcode/intel: Use appropriate type in microcode_sanity_check()
x86/microcode/intel: Expose microcode_sanity_check()
platform/x86/intel/ifs: Use generic microcode headers and functions
platform/x86/intel/ifs: Add metadata validation
platform/x86/intel/ifs: Remove reload sysfs entry
platform/x86/intel/ifs: Add current_batch sysfs entry
Documentation/ABI: Update IFS ABI doc
Revert "platform/x86/intel/ifs: Mark as BROKEN"

arch/x86/include/asm/microcode_intel.h | 25 ++-
drivers/platform/x86/intel/ifs/ifs.h | 27 ++-
arch/x86/kernel/cpu/microcode/intel.c | 81 ++++++--
drivers/platform/x86/intel/ifs/core.c | 7 +-
drivers/platform/x86/intel/ifs/load.c | 174 +++++++++---------
drivers/platform/x86/intel/ifs/runtest.c | 10 +-
drivers/platform/x86/intel/ifs/sysfs.c | 41 +++--
.../ABI/testing/sysfs-platform-intel-ifs | 30 +--
drivers/platform/x86/intel/ifs/Kconfig | 4 -
9 files changed, 243 insertions(+), 156 deletions(-)

base-commit: f76349cf41451c5c42a99f18a9163377e4b364ff
--
2.25.1