]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - cmd/Kconfig
Convert CONFIG_CMD_IOTRACE to Kconfig
[people/ms/u-boot.git] / cmd / Kconfig
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