]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
cmd: bdinfo: cleanup phys_addr_t output
authorHeinrich Schuchardt <xypron.glpk@gmx.de>
Tue, 28 Jul 2020 15:56:33 +0000 (17:56 +0200)
committerTom Rini <trini@konsulko.com>
Wed, 5 Aug 2020 12:18:34 +0000 (08:18 -0400)
We currently print the memory size with at least 8 hexadecimal digits.
This creates a ragged output on 64 bit boards, e.g. on a Kendryte K210:

DRAM bank   = 0x0000000000000002
-> start    = 0x0000000080600000
-> size     = 0x0000000000200000
memstart    = 0x0000000000000000
memsize     = 0x00000000
flashstart  = 0x0000000000000000
flashsize   = 0x0000000000000000
flashoffset = 0x0000000000000000

All other numbers are printed with the number of digits needed for the type
ulong. So use this value as minimum number of digits (precision) for
printing physical addresses.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Reviewed-by: Heiko Schocher <hs@denx.de>
Reviewed-by: Stefan Roese <sr@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
cmd/bdinfo.c

index 2a6dd6c67a5000ac900f41694853178cc7436b20..9485c404740ff84ba705bc63198bb1dd93de4415 100644 (file)
@@ -34,9 +34,10 @@ static void print_eth(int idx)
        printf("%-12s= %s\n", name, val);
 }
 
-static void print_lnum(const char *name, unsigned long long value)
+static void print_phys_addr(const char *name, phys_addr_t value)
 {
-       printf("%-12s= 0x%.8llX\n", name, value);
+       printf("%-12s= 0x%.*llx\n", name, 2 * (int)sizeof(ulong),
+              (unsigned long long)value);
 }
 
 void bdinfo_print_mhz(const char *name, unsigned long hz)
@@ -75,7 +76,7 @@ int do_bdinfo(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
        bdinfo_print_num("boot_params", (ulong)bd->bi_boot_params);
        print_bi_dram(bd);
        bdinfo_print_num("memstart", (ulong)bd->bi_memstart);
-       print_lnum("memsize", (u64)bd->bi_memsize);
+       print_phys_addr("memsize", bd->bi_memsize);
        bdinfo_print_num("flashstart", (ulong)bd->bi_flashstart);
        bdinfo_print_num("flashsize", (ulong)bd->bi_flashsize);
        bdinfo_print_num("flashoffset", (ulong)bd->bi_flashoffset);