On Tue, Feb 07, 2017 at 07:40:44AM -0600, Douglas Miller wrote: > Extend dump command to allow display of 2, 4, and 8 byte words in native > endian format. Also adds dump command for "1 byte words" for the sake > of symmetry. New commands are: > > d1 dump 8 bit values > d2 dump 16 bit values > d4 dump 32 bit values > d8 dump 64 bit values > > Signed-off-by: Douglas Miller <dougm...@linux.vnet.ibm.com> > --- > arch/powerpc/xmon/xmon.c | 65 +++++++++++++++++++++++++++++++++++++++++++-- > 1 files changed, 62 insertions(+), 3 deletions(-) > > diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c > index 9c0e17c..6249975 100644 > --- a/arch/powerpc/xmon/xmon.c > +++ b/arch/powerpc/xmon/xmon.c > @@ -212,6 +212,10 @@ static void xmon_print_symbol(unsigned long address, > const char *mid, > "\ > C checksum\n\ > d dump bytes\n\ > + d1 dump 8 bit values\n\ > + d2 dump 16 bit values\n\ > + d4 dump 32 bit values\n\ > + d8 dump 64 bit values\n\ > di dump instructions\n\ > df dump float values\n\ > dd dump double values\n\ > @@ -2334,9 +2338,49 @@ static void dump_pacas(void) > } > #endif > > +static void dump_by_size(unsigned long addr, long count, int size) > +{ > + unsigned char temp[16]; > + int i, j; > + u64 val; > + > + /* > + * 'count' was aligned 16. If that changes, the following > + * must also change to accommodate other values for 'count'. > + */ > + for (i = 0; i < count; i += 16, addr += 16) { > + printf(REG, addr); > + > + if (mread(addr, temp, 16) != 16) { > + printf("Faulted reading %d bytes from 0x"REG"\n", 16, > addr);
We have a method of printing a special character for faults. Please see fault_chars[] Otherwise looks good Acked-by: Balbir Singh <bsinghar...@gmail.com>