mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-25 06:00:43 +00:00
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:
parent
070f3168fa
commit
7d0f5c1300
4 changed files with 35 additions and 2 deletions
|
@ -70,6 +70,7 @@ config SANDBOX
|
||||||
select DM_MMC
|
select DM_MMC
|
||||||
imply CMD_HASH
|
imply CMD_HASH
|
||||||
imply CMD_IO
|
imply CMD_IO
|
||||||
|
imply CMD_IOTRACE
|
||||||
|
|
||||||
config SH
|
config SH
|
||||||
bool "SuperH architecture"
|
bool "SuperH architecture"
|
||||||
|
|
34
cmd/Kconfig
34
cmd/Kconfig
|
@ -501,6 +501,40 @@ config CMD_IO
|
||||||
checking the state of devices during boot when debugging device
|
checking the state of devices during boot when debugging device
|
||||||
drivers, etc.
|
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
|
config CMD_LOADB
|
||||||
bool "loadb"
|
bool "loadb"
|
||||||
default y
|
default y
|
||||||
|
|
|
@ -18,7 +18,6 @@
|
||||||
|
|
||||||
#ifndef CONFIG_SPL_BUILD
|
#ifndef CONFIG_SPL_BUILD
|
||||||
#define CONFIG_IO_TRACE
|
#define CONFIG_IO_TRACE
|
||||||
#define CONFIG_CMD_IOTRACE
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef CONFIG_TIMER
|
#ifndef CONFIG_TIMER
|
||||||
|
|
|
@ -383,7 +383,6 @@ CONFIG_CM922T_XA10
|
||||||
CONFIG_CMDLINE_EDITING
|
CONFIG_CMDLINE_EDITING
|
||||||
CONFIG_CMDLINE_PS_SUPPORT
|
CONFIG_CMDLINE_PS_SUPPORT
|
||||||
CONFIG_CMDLINE_TAG
|
CONFIG_CMDLINE_TAG
|
||||||
CONFIG_CMD_IOTRACE
|
|
||||||
CONFIG_CMD_IRQ
|
CONFIG_CMD_IRQ
|
||||||
CONFIG_CMD_JFFS2
|
CONFIG_CMD_JFFS2
|
||||||
CONFIG_CMD_KGDB
|
CONFIG_CMD_KGDB
|
||||||
|
|
Loading…
Reference in a new issue