cmd: pci: Adjust display of digits for 64bit address and size
authorKunihiko Hayashi <hayashi.kunihiko@socionext.com>
Fri, 23 Aug 2019 01:56:55 +0000 (10:56 +0900)
committerTom Rini <trini@konsulko.com>
Mon, 26 Aug 2019 15:46:28 +0000 (11:46 -0400)
The command "pci bar" and "pci region" display the address and size in
16 characters including "0x", so the command can only display
14 hexadecimal digits if the number of digits in the address and size is
less than 14.

    ID   Base                Size                Width  Type
    ----------------------------------------------------------
     0   0x00000020000000  0x00000000100000  64     MEM   Prefetchable
     1   0xffff000080000000  0x00000000100000  64     MEM   Prefetchable

The 64-bit address and size should be displayed in 18(= 16+2) digits,
so this patch adjusts them.

Cc: Yehuda Yitschak <yehuday@marvell.com>
Cc: Simon Glass <sjg@chromium.org>
Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
cmd/pci.c

index 2c5ee2a19d87d2912de28c63134f2a2f997d0fd6..0043471fc73e59cfb42e828936accaaa5c294f17 100644 (file)
--- a/cmd/pci.c
+++ b/cmd/pci.c
@@ -148,7 +148,7 @@ int pci_bar_show(struct udevice *dev)
 
                if ((!is_64 && size_low) || (is_64 && size)) {
                        size = ~size + 1;
-                       printf(" %d   %#016llx  %#016llx  %d     %s   %s\n",
+                       printf(" %d   %#018llx  %#018llx  %d     %s   %s\n",
                               bar_id, (unsigned long long)base,
                               (unsigned long long)size, is_64 ? 64 : 32,
                               is_io ? "I/O" : "MEM",
@@ -629,10 +629,10 @@ static void pci_show_regions(struct udevice *bus)
                return;
        }
 
-       printf("#   %-16s %-16s %-16s  %s\n", "Bus start", "Phys start", "Size",
+       printf("#   %-18s %-18s %-18s  %s\n", "Bus start", "Phys start", "Size",
               "Flags");
        for (i = 0, reg = hose->regions; i < hose->region_count; i++, reg++) {
-               printf("%d   %#016llx %#016llx %#016llx  ", i,
+               printf("%d   %#018llx %#018llx %#018llx  ", i,
                       (unsigned long long)reg->bus_start,
                       (unsigned long long)reg->phys_start,
                       (unsigned long long)reg->size);