This converts the following to Kconfig:
   CONFIG_CMD_IOTRACE

Signed-off-by: Simon Glass <s...@chromium.org>
---

 arch/Kconfig                 |  1 +
 cmd/Kconfig                  | 34 ++++++++++++++++++++++++++++++++++
 include/configs/sandbox.h    |  1 -
 scripts/config_whitelist.txt |  1 -
 4 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/arch/Kconfig b/arch/Kconfig
index 493b1831c1..c6ea37fd46 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -70,6 +70,7 @@ config SANDBOX
        select DM_MMC
        imply CMD_HASH
        imply CMD_IO
+       imply CMD_IOTRACE
 
 config SH
        bool "SuperH architecture"
diff --git a/cmd/Kconfig b/cmd/Kconfig
index 0f54ae35f9..c1e271d329 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -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
diff --git a/include/configs/sandbox.h b/include/configs/sandbox.h
index 8973494f9b..d640949dd9 100644
--- a/include/configs/sandbox.h
+++ b/include/configs/sandbox.h
@@ -18,7 +18,6 @@
 
 #ifndef CONFIG_SPL_BUILD
 #define CONFIG_IO_TRACE
-#define CONFIG_CMD_IOTRACE
 #endif
 
 #ifndef CONFIG_TIMER
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index 2f15e8c5d7..457e81645e 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -384,7 +384,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
-- 
2.13.0.rc2.291.g57267f2277-goog

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to