Commit 67896ef1 authored by Tony Luck's avatar Tony Luck Committed by Hans de Goede
Browse files

platform/x86/intel/ifs: Add stub driver for In-Field Scan

Cloud Service Providers that operate fleets of servers have reported
[1] occasions where they can detect that a CPU has gone bad due to
effects like electromigration, or isolated manufacturing defects.
However, that detection method is A/B testing seemingly random
application failures looking for a pattern. In-Field Scan (IFS) is
a driver for a platform capability to load a crafted 'scan image'
to run targeted low level diagnostics outside of the CPU's architectural
error detection capabilities.

Stub version of driver just does initial part of check for the IFS
feature. MSR_IA32_CORE_CAPS must enumerate the presence of the
MSR_INTEGRITY_CAPS MSR.

[1]: https://www.youtube.com/watch?v=QMF3rqhjYuM



Reviewed-by: default avatarDan Williams <dan.j.williams@intel.com>
Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
Acked-by: default avatarHans de Goede <hdegoede@redhat.com>
Reviewed-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: default avatarThomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20220506225410.1652287-5-tony.luck@intel.com


Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
parent 2760f5a4
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -9859,6 +9859,13 @@ B: https://bugzilla.kernel.org
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux.git
F:	drivers/idle/intel_idle.c
INTEL IN FIELD SCAN (IFS) DEVICE
M:	Jithu Joseph <jithu.joseph@intel.com>
R:	Ashok Raj <ashok.raj@intel.com>
R:	Tony Luck <tony.luck@intel.com>
S:	Maintained
F:	drivers/platform/x86/intel/ifs
INTEL INTEGRATED SENSOR HUB DRIVER
M:	Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
M:	Jiri Kosina <jikos@kernel.org>
+1 −0
Original line number Diff line number Diff line
@@ -4,6 +4,7 @@
#

source "drivers/platform/x86/intel/atomisp2/Kconfig"
source "drivers/platform/x86/intel/ifs/Kconfig"
source "drivers/platform/x86/intel/int1092/Kconfig"
source "drivers/platform/x86/intel/int3472/Kconfig"
source "drivers/platform/x86/intel/pmc/Kconfig"
+1 −0
Original line number Diff line number Diff line
@@ -5,6 +5,7 @@
#

obj-$(CONFIG_INTEL_ATOMISP2_PDX86)	+= atomisp2/
obj-$(CONFIG_INTEL_IFS)			+= ifs/
obj-$(CONFIG_INTEL_SAR_INT1092)		+= int1092/
obj-$(CONFIG_INTEL_SKL_INT3472)		+= int3472/
obj-$(CONFIG_INTEL_PMC_CORE)		+= pmc/
+13 −0
Original line number Diff line number Diff line
config INTEL_IFS
	tristate "Intel In Field Scan"
	depends on X86 && 64BIT && SMP
	select INTEL_IFS_DEVICE
	help
	  Enable support for the In Field Scan capability in select
	  CPUs. The capability allows for running low level tests via
	  a scan image distributed by Intel via Github to validate CPU
	  operation beyond baseline RAS capabilities. To compile this
	  support as a module, choose M here. The module will be called
	  intel_ifs.

	  If unsure, say N.
+3 −0
Original line number Diff line number Diff line
obj-$(CONFIG_INTEL_IFS)		+= intel_ifs.o

intel_ifs-objs			:= core.o
Loading