[PATCH 1/1] cmd: bdinfo: cleanup phys_addr_t output
Stefan Roese
sr at denx.de
Thu Jul 30 10:12:27 CEST 2020
On 28.07.20 17:56, Heinrich Schuchardt wrote:
> 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 at gmx.de>
Reviewed-by: Stefan Roese <sr at denx.de>
Thanks,
Stefan
> ---
> cmd/bdinfo.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/cmd/bdinfo.c b/cmd/bdinfo.c
> index 8b2c105e77..519f5de146 100644
> --- a/cmd/bdinfo.c
> +++ b/cmd/bdinfo.c
> @@ -33,9 +33,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)
> @@ -74,7 +75,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);
> --
> 2.27.0
>
Viele Grüße,
Stefan
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de
More information about the U-Boot
mailing list