Commit cf52a589 authored by Henrique de Moraes Holschuh's avatar Henrique de Moraes Holschuh

Merge branch 'topic/scan-system-enhancements'

parents 5392806a 408de72f
......@@ -128,23 +128,32 @@ AC_DEFINE_UNQUOTED(MICROCODE_DIR_DEFAULT, "$MICROCODE_DIR_DEFAULT",
[Path to the kernel microcode firmware directory])
AC_SUBST(MICROCODE_DIR_DEFAULT)
AC_ARG_WITH([cpuid-device-parent],
[AS_HELP_STRING([--with-cpuid-device-parent=PATH],
[per-cpu devices parent directory (/dev/cpu)])],
[AS_IF([test "x$withval" = "x" || test "x$withval" = "xno"],
[AC_ERROR([use --disable-cpuid-device instead of --without-cpuid-device-parent])],
[CPUID_DEVICE_PARENT="$withval"])],
[CPUID_DEVICE_PARENT="/dev/cpu"])
AC_DEFINE_UNQUOTED(CPUID_DEVICE_PARENT, "$CPUID_DEVICE_PARENT",
[path to the per-cpu tree of cpuid devices])
AC_SUBST(CPUID_DEVICE_PARENT)
AC_ARG_WITH([cpuid-device-base],
[AS_HELP_STRING([--with-cpuid-device-base=PATH_FORMAT],
[per-cpu cpuid device path (/dev/cpu/%u/cpuid)])],
[per-cpu cpuid device format string, relative to CPUID_DEVICE_PARENT (%s/cpuid)])],
[AS_IF([test "x$withval" = "x" || test "x$withval" = "xno"],
[AC_ERROR([use --disable-cpuid-device instead of --without-cpuid-device-base])],
[CPUID_DEVICE_BASE="$withval"])],
[CPUID_DEVICE_BASE="/dev/cpu/%u/cpuid"])
[CPUID_DEVICE_BASE="%s/cpuid"])
AC_DEFINE_UNQUOTED(CPUID_DEVICE_BASE, "$CPUID_DEVICE_BASE",
[fprintf base string to the per-cpu cpuid device])
[snprintf format string for the per-cpu cpuid device path, relative to CPUID_DEVICE_NAME])
AC_SUBST(CPUID_DEVICE_BASE)
AC_ARG_ENABLE([cpuid-device],
[AS_HELP_STRING([--enable-cpuid-device],
[use Linux cpuid device and check all cores])],
[AS_IF([test "x$enableval" != "xno"],
[AC_DEFINE(USE_CPUID_DEVICE, [], [Scan every core using Linux cpuid device])])
])
[AS_HELP_STRING([--disable-cpuid-device],
[disable support for the Linux cpuid device (cripples --scan-system=exact)])])
AS_IF([test "x${enable_cpuid_device}" != "xno"],
[AC_DEFINE(USE_CPUID_DEVICE, [], [Support scanning every core using Linux cpuid device])])
AC_ARG_ENABLE([valgrind-build],
[AS_HELP_STRING([--enable-valgrind-build],
......
......@@ -201,7 +201,7 @@ The special notation \fI\-s!\fP (with no \fIsignature\fP parameter) instructs
the non\-negated form of \fI\-s\fP, or using \fI\-\-scan\-system\fP).
.TP
.BR "\-S" ", " "\-\-scan\-system"
.BR "\-S" ", " "\-\-scan\-system" "[=\fImode\fP]"
Select microcodes by scanning online processors on this system for their
signatures.
......@@ -210,10 +210,26 @@ option to select more microcodes. The microcodes selected by
\fI\-\-scan\-system\fP can also be deselected by a later \fI\-s\ !signature\fP
option.
Should the signature scan fail, the program will print a warning to the user
and continue as if \fI\-\-scan\-system\fP had not been specified. This is a
fail-safe condition when \fBiucode_tool\fP is used to install microcode updates
for the next boot.
The optional \fImode\fP argument (accepted only by the long version of the
option) selects the strategy used to scan processors:
.RS
.IP "\fB0\fP or \fBauto\fP"
Currently the same as \fBfast\fP, but this might change in future versions if
Intel ever deploys multi-signature systems that go beyond mixed-stepping. This
is the default mode of operation, for backwards compatibility
with previous versions of \fBiucode_tool\fP.
.IP "\fB1\fP or \fBfast\fP"
Uses the cpuid instruction to detect the signature of the processor
\fBiucode_tool\fP is running on, and selects all steppings for that processor's
type, family and model. Supports mixed-stepping systems.
.IP "\fB2\fP or \fBexact\fP"
Uses kernel drivers to scan the signature of every online processor directly.
This mode supports multi-signature systems. This scan mode will be slow on
large systems with many processors, and likely requires special permissions
(such as running as the root user). Should the scan fail for any reason, as
a fail-safe measure, it will issue an warning and consider all possible
steppings for every signature it did manage to scan successfully.
.RE
.TP
\fB\-\-date\-before\fR=\fIYYYY\-MM\-DD\fR and \fB\-\-date\-after\fR=\fIYYYY\-MM\-DD\fR
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment