]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
iotrace: Finish migrating this to Kconfig
authorTom Rini <trini@konsulko.com>
Wed, 1 Oct 2025 20:30:52 +0000 (14:30 -0600)
committerTom Rini <trini@konsulko.com>
Fri, 10 Oct 2025 20:25:24 +0000 (14:25 -0600)
When I migrated this to Kconfig in commit 68e54040ccc3 ("sandbox: Move
CONFIG_IO_TRACE to Kconfig") I didn't look hard enough for other
details. As explained in the README, this is valid for ARM too. So start
by making this be a prompted question and CMD_IOTRACE depend on IO_TRACE
being enabled.  Next, migrate the information out of README and in to
the appropriate help text for existing options in Kconfig. Finally, make
this option be default y on SANDBOX but not selected as it's valid to
build without it.

Signed-off-by: Tom Rini <trini@konsulko.com>
README
arch/Kconfig
cmd/Kconfig
common/Kconfig

diff --git a/README b/README
index 07cfded6be5326fb24289faaf587a12f58eac6ab..b95c72bb367baa96fba88f1f7f255e19bb8047f4 100644 (file)
--- a/README
+++ b/README
@@ -300,28 +300,6 @@ The following options need to be configured:
                Note that if the GPIO device uses I2C, then the I2C interface
                must also be configured. See I2C Support, below.
 
-- I/O tracing:
-               When CONFIG_IO_TRACE is selected, U-Boot intercepts all I/O
-               accesses and can checksum them or write a list of them out
-               to memory. See the 'iotrace' command for details. This is
-               useful for testing device drivers since it can confirm that
-               the driver behaves the same way before and after a code
-               change. Currently this is supported on sandbox and arm. To
-               add support for your architecture, add '#include <iotrace.h>'
-               to the bottom of arch/<arch>/include/asm/io.h and test.
-
-               Example output from the 'iotrace stats' command is below.
-               Note that if the trace buffer is exhausted, the checksum will
-               still continue to operate.
-
-                       iotrace is enabled
-                       Start:  10000000        (buffer start address)
-                       Size:   00010000        (buffer size)
-                       Offset: 00000120        (current buffer offset)
-                       Output: 10000120        (start + offset)
-                       Count:  00000018        (number of trace records)
-                       CRC32:  9526fb66        (CRC32 of all trace records)
-
 - Timestamp Support:
 
                When CONFIG_TIMESTAMP is selected, the timestamp
index 7e05e0c2263470ff397e09729f07f43170b79063..3133f892f945e465ec649b2ec680ba6461371176 100644 (file)
@@ -202,7 +202,6 @@ config SANDBOX
        select DM_SPI
        select DM_SPI_FLASH
        select GZIP_COMPRESSED
-       select IO_TRACE
        select LZO
        select MMC
        select MTD
index dcf63f423fd31030db3af9ee6608f59654ace2d2..5fcf37e67b97c7fb6b925177fcca81decd7e9204 100644 (file)
@@ -1308,12 +1308,23 @@ config CMD_IO
 
 config CMD_IOTRACE
        bool "iotrace - Support for tracing I/O activity"
+       depends on IO_TRACE
        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.
 
+         Example output from the 'iotrace stats' command is below.
+
+               iotrace is enabled
+               Start:  10000000        (buffer start address)
+               Size:   00010000        (buffer size)
+               Offset: 00000120        (current buffer offset)
+               Output: 10000120        (start + offset)
+               Count:  00000018        (number of trace records)
+               CRC32:  9526fb66        (CRC32 of all trace records)
+
          When debugging drivers it is useful to see what I/O accesses were
          done and in what order.
 
index 30bf225362eed350b25b31523639c360540853c3..0c25a8fc866ef64c3a1da18e0695dbd47ab65bab 100644 (file)
@@ -1264,4 +1264,13 @@ config VPL_IMAGE_SIGN_INFO
 endif
 
 config IO_TRACE
-       bool
+       bool "Intercept and checksum all I/O accesses"
+       depends on ARM || SANDBOX
+       default y if SANDBOX
+       help
+         When enabled, U-Boot intercepts all I/O accesses and can checksum
+         them or write a list of them out to memory. See the 'iotrace' command
+         for details. This is useful for testing device drivers since it can
+         confirm that the driver behaves the same way before and after a code
+         change. To add support for your architecture, add '#include
+         <iotrace.h>' to the bottom of arch/<arch>/include/asm/io.h and test.