LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Randy Dunlap <randy.dunlap@oracle.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: lkml <linux-kernel@vger.kernel.org>,
	jwboyer@linux.vnet.ibm.com, grant.likely@secretlab.ca,
	jketreno@linux.intel.com
Subject: Re: [PATCH] lib/hexdump
Date: Wed, 02 May 2007 15:56:48 -0700	[thread overview]
Message-ID: <46391730.2080003@oracle.com> (raw)
In-Reply-To: <20070502154557.b463c9c3.akpm@linux-foundation.org>

Andrew Morton wrote:
> On Wed, 2 May 2007 15:35:56 -0700
> Randy Dunlap <randy.dunlap@oracle.com> wrote:
> 
>> From: Randy Dunlap <randy.dunlap@oracle.com>
>>
>> Based on ace_dump_mem() from Grant Likely for the Xilinx 
>> SystemACE CompactFlash interface.
>>
>> Add hex_dumper() to lib/hexdump.c and linux/kernel.h.
>>
>> This patch adds the function 'hex_dumper' which can be used to perform a 
>> hex + ASCII dump of data to syslog, in an easily viewable format, thus
>> providing a common text hex dump format.
>>
>> It does not provide a hexdump_to_buffer() function.
>> if someone needs that, we'll have to add it.
>>
>> Example usage:
>> 	hex_dumper(KERN_DEBUG, data, length);
>>
> 
> Fair enough.  This is the sort of thing one could easily overdesign ;)

The Intel version also returned the number of bytes printed.
and they had a hexdump_to_buffer() for sysfs output.


>>  include/linux/kernel.h |    1 
>>  lib/Makefile           |    2 -
>>  lib/hexdump.c          |   51 +++++++++++++++++++++++++++++++++++++++++++++++++
>>  3 files changed, 53 insertions(+), 1 deletion(-)
>>
>> --- /dev/null
>> +++ linux-2.6.21-git4/lib/hexdump.c
>> @@ -0,0 +1,51 @@

>> +/**
>> + * hex_dumper - print a text hex dump to syslog for a binary blob of data
>> + * @level: kernel log level (e.g. KERN_DEBUG)
>> + * @buf: data blob to dump
>> + * @len: number of bytes in the @buf
>> + *
>> + * Given a buffer of u8 data, hex_dumper() will print a hex + ASCII dump
>> + * to the kernel log at the specified kernel log level.
>> + *
>> + * E.g.:
>> + *	hex_dumper(KERN_DEBUG, frame->data, frame->len);
>> + *
>> + * Prints the offsets of the block of memory, not addresses:
>> + * 0009ab42: 40414243 44454647 48494a4b 4c4d4e4f-@ABCDEFG HIJKLMNO
> 
> But I suspect it should be printing the addresses, for many callers.
> 
> In which case we'd need a separate arg (base_address or somesuch) so that
> callers who want to show real virtual addresses can pass in `base' and
> callers who want to display relative offsets can pass in 0.

OK, that's one way to do it.  I'll wait a bit for other comments.

> Which implies that the address will need to be printed as a 16-digit number
> on 64-bit kernels.

Yep.


-- 
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***

  reply	other threads:[~2007-05-02 22:53 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-02 22:35 Randy Dunlap
2007-05-02 22:45 ` Andrew Morton
2007-05-02 22:56   ` Randy Dunlap [this message]
2007-05-02 23:06     ` Andrew Morton
2007-05-02 23:15       ` Randy Dunlap
2007-05-04  0:49         ` [PATCH v2] lib/hexdump Randy Dunlap
2007-05-04  9:39           ` Pekka Enberg
2007-05-04 18:22             ` [PATCH v2] lib/hexdump update on feedback Randy Dunlap
2007-05-04 13:41           ` [PATCH v2] lib/hexdump Hugh Dickins
2007-05-03  7:01 ` [PATCH] lib/hexdump Jan Engelhardt
2007-05-03 16:26   ` Randy Dunlap

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=46391730.2080003@oracle.com \
    --to=randy.dunlap@oracle.com \
    --cc=akpm@linux-foundation.org \
    --cc=grant.likely@secretlab.ca \
    --cc=jketreno@linux.intel.com \
    --cc=jwboyer@linux.vnet.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --subject='Re: [PATCH] lib/hexdump' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).