Hi, On 5 June 2018 at 06:17, Alexey Brodkin <alexey.brod...@synopsys.com> wrote: > Often during debugging session it's very interesting to see > what data we were dealing with. For example what we write or read > to/from memory or peripherals. > > This change introduces functions that allow to dump binary > data with one simple function invocation like: > ------------------->8---------------- > print_hex_dump_bytes("", DUMP_PREFIX_OFFSET, buf, len); > ------------------->8---------------- > > which gives us the following: > ------------------->8---------------- > 00000000: f2 b7 c9 88 62 61 75 64 72 61 74 65 3d 31 31 35 ....baudrate=115 > 00000010: 32 30 30 00 62 6f 6f 74 61 72 67 73 3d 63 6f 6e 200.bootargs=con > 00000020: 73 6f 6c 65 3d 74 74 79 53 33 2c 31 31 35 32 30 sole=ttyS3,11520 > 00000030: 30 6e 38 00 62 6f 6f 74 64 65 6c 61 79 3d 33 00 0n8.bootdelay=3. > 00000040: 62 6f 6f 74 66 69 6c 65 3d 75 49 6d 61 67 65 00 bootfile=uImage. > 00000050: 66 64 74 63 6f 6e 74 72 6f 6c 61 64 64 72 3d 39 fdtcontroladdr=9 > 00000060: 66 66 62 31 62 61 30 00 6c 6f 61 64 61 64 64 72 ffb1ba0.loadaddr > 00000070: 3d 30 78 38 32 30 30 30 30 30 30 00 73 74 64 65 =0x82000000.stde > 00000080: 72 72 3d 73 65 72 69 61 6c 30 40 65 30 30 32 32 rr=serial0@e0022 > 00000090: 30 30 30 00 73 74 64 69 6e 3d 73 65 72 69 61 6c 000.stdin=serial > 000000a0: 30 40 65 30 30 32 32 30 30 30 00 73 74 64 6f 75 0@e0022000.stdou > 000000b0: 74 3d 73 65 72 69 61 6c 30 40 65 30 30 32 32 30 t=serial0@e00220 > 000000c0: 30 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00.............. > ... > ------------------->8---------------- > > Source of hexdump.c was copied from Linux kernel v4.7-rc2. > > Signed-off-by: Alexey Brodkin <abrod...@synopsys.com> > Cc: Anatolij Gustschin <ag...@denx.de> > Cc: Mario Six <mario....@gdsys.cc> > Cc: Simon Glass <s...@chromium.org> > Cc: Tom Rini <tr...@konsulko.com> > Cc: Stefan Roese <s...@denx.de> > > --- > > Build-tested by Travis CI, see https://travis-ci.org/abrodkin/u-boot. > > Changes v2 -> v3: > * Remove hexdump.h from common.h > * Drop verbose level argument from print_hex_dump() > * Update users of print_hex_dump() accordingly > > Changes v1 -> v2: > * Move hexdump definitions to a separate header. > * Move helper funcions to the header so they might be used even if > CONFIG_HEXDUMP is not enabled and if not used they will not occupy > extra bytes of memory being "static inline" ones. > * While at it replace its own hex_asc[], hex_asc_{lo|hi}() and > pack_hex_byte() in lib/vsprintf.c with generic ones from hexdump. > * In print_hex_dump() revert back first parametr for debug level, > otherwise existing users of the function will be broken. > > drivers/mtd/ubi/attach.c | 2 +- > drivers/mtd/ubi/debug.c | 7 +- > drivers/mtd/ubi/debug.h | 6 +- > drivers/mtd/ubi/io.c | 7 +- > drivers/usb/gadget/f_mass_storage.c | 1 + > drivers/usb/gadget/storage_common.c | 4 +- > examples/api/Makefile | 1 + > fs/ubifs/debug.c | 6 +- > fs/ubifs/scan.c | 3 +- > include/hexdump.h | 91 +++++++++++ > include/linux/compat.h | 1 - > lib/Kconfig | 5 + > lib/Makefile | 1 + > lib/hexdump.c | 245 ++++++++++++++++++++++++++++ > lib/vsprintf.c | 18 +- > 15 files changed, 369 insertions(+), 29 deletions(-) > create mode 100644 include/hexdump.h > create mode 100644 lib/hexdump.c
This code looks good but please add a test in test/ You could use print_ut.c as an example Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot