]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
Convert CONFIG_CMD_IOTRACE to Kconfig
authorSimon Glass <sjg@chromium.org>
Wed, 17 May 2017 09:25:36 +0000 (03:25 -0600)
committerTom Rini <trini@konsulko.com>
Mon, 22 May 2017 16:45:30 +0000 (12:45 -0400)
This converts the following to Kconfig:
   CONFIG_CMD_IOTRACE

Signed-off-by: Simon Glass <sjg@chromium.org>
arch/Kconfig
cmd/Kconfig
include/configs/sandbox.h
scripts/config_whitelist.txt

index a8a13b79f4ca0b56ba50f4d4e3aa69a6176b6c84..c1b47b4eda515d03ebf91ade76a2f8ce86136497 100644 (file)
@@ -70,6 +70,7 @@ config SANDBOX
        select DM_MMC
        imply CMD_HASH
        imply CMD_IO
+       imply CMD_IOTRACE
 
 config SH
        bool "SuperH architecture"
index 0f54ae35f9ff81be3d2ae658b32feb942e8bbf68..c1e271d329f9e4d5cc5086c6dec1e79defd34df5 100644 (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
index be05843de1601afd14bc8c10bfd4b4f10a2631e9..905fcd95e9beef03dbe6d4d3952c55ccd7118462 100644 (file)
@@ -18,7 +18,6 @@
 
 #ifndef CONFIG_SPL_BUILD
 #define CONFIG_IO_TRACE
-#define CONFIG_CMD_IOTRACE
 #endif
 
 #ifndef CONFIG_TIMER
index 7b9b21b4911285ed7671c1c3c6019f38413b2c07..5cebf2c0c2639c75dfd3bd8fbc7c9bbf9033a345 100644 (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