powerpc/xmon: Add ASCII dump to d1,d2,d4,d8 commands.
authorDouglas Miller <dougmill@linux.vnet.ibm.com>
Mon, 27 Feb 2017 14:28:14 +0000 (08:28 -0600)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 26 Mar 2020 13:49:44 +0000 (00:49 +1100)
The reason debuggers add an ASCII dump to other types of memory dumps
is to give the user visual reference points in the case that ASCII
strings are adjacent to other structures or element.  For example,
when examining the task_struct structure one can look for the comm[]
string and use it to locate other important elements.

ASCII strings do not have endianess, they exist in memory in the same
order regardless of CPU endianess. ASCII strings are, by definition,
human readable and so should be presented in a human readable format.

For these reasons, the supplemental ASCII dump does not re-order
the strings from memory to match the endianess of the corresponding
16, 32, or 64 bit words. That would make the ASCII dump much less
useful.

Signed-off-by: Douglas Miller <dougmill@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/1488205694-13337-1-git-send-email-dougmill@linux.vnet.ibm.com
arch/powerpc/xmon/xmon.c

index ea303b7..7af840c 100644 (file)
@@ -2713,7 +2713,12 @@ static void dump_by_size(unsigned long addr, long count, int size)
 
                        printf("%0*llx", size * 2, val);
                }
-               printf("\n");
+               printf("  |");
+               for (j = 0; j < 16; ++j) {
+                       val = temp[j];
+                       putchar(' ' <= val && val <= '~' ? val : '.');
+               }
+               printf("|\n");
        }
 }