Convert CONFIG_CMD_IOTRACE to Kconfig

This converts the following to Kconfig:
   CONFIG_CMD_IOTRACE

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2017-05-17 03:25:36 -06:00 committed by Tom Rini
parent 070f3168fa
commit 7d0f5c1300
4 changed files with 35 additions and 2 deletions

View file

@ -70,6 +70,7 @@ config SANDBOX
select DM_MMC
imply CMD_HASH
imply CMD_IO
imply CMD_IOTRACE
config SH
bool "SuperH architecture"

View file

@ -501,6 +501,40 @@ config CMD_IO
checking the state of devices during boot when debugging device
drivers, etc.
config CMD_IOTRACE
bool "iotrace - Support for tracing I/O activity"
help
Provides an 'iotrace' command which supports recording I/O reads and
writes in a trace buffer in memory . It also maintains a checksum
of the trace records (even if space is exhausted) so that the
sequence of I/O accesses can be verified.
When debugging drivers it is useful to see what I/O accesses were
done and in what order.
Even if the individual accesses are of little interest it can be
useful to verify that the access pattern is consistent each time
an operation is performed. In this case a checksum can be used to
characterise the operation of a driver. The checksum can be compared
across different runs of the operation to verify that the driver is
working properly.
In particular, when performing major refactoring of the driver, where
the access pattern should not change, the checksum provides assurance
that the refactoring work has not broken the driver.
This works by sneaking into the io.h heder for an architecture and
redirecting I/O accesses through iotrace's tracing mechanism.
For now no commands are provided to examine the trace buffer. The
format is fairly simple, so 'md' is a reasonable substitute.
Note: The checksum feature is only useful for I/O regions where the
contents do not change outside of software control. Where this is not
suitable you can fall back to manually comparing the addresses. It
might be useful to enhance tracing to only checksum the accesses and
not the data read/written.
config CMD_LOADB
bool "loadb"
default y

View file

@ -18,7 +18,6 @@
#ifndef CONFIG_SPL_BUILD
#define CONFIG_IO_TRACE
#define CONFIG_CMD_IOTRACE
#endif
#ifndef CONFIG_TIMER

View file

@ -383,7 +383,6 @@ CONFIG_CM922T_XA10
CONFIG_CMDLINE_EDITING
CONFIG_CMDLINE_PS_SUPPORT
CONFIG_CMDLINE_TAG
CONFIG_CMD_IOTRACE
CONFIG_CMD_IRQ
CONFIG_CMD_JFFS2
CONFIG_CMD_KGDB