Re: [PATCH 01/12] lib: create common ascii hex array
From: Ilpo Järvinen <hidden>
Date: 2008-05-13 09:55:27
Also in:
linux-ide, linux-scsi, lkml
From: Ilpo Järvinen <hidden>
Date: 2008-05-13 09:55:27
Also in:
linux-ide, linux-scsi, lkml
On Mon, 12 May 2008, Harvey Harrison wrote:
Add a common hex array in hexdump.c so everyone can use it. Add a common hi/lo helper to avoid the shifting masking that is done to get the upper and lower nibbles of a byte value. Pull the pack_hex_byte helper from kgdb as it is opencoded many places in the tree that will be consolidated. Signed-off-by: Harvey Harrison <redacted> ---diff --git a/include/linux/kernel.h b/include/linux/kernel.h index 4d46e29..792bf0a 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h@@ -276,7 +276,17 @@ extern void print_hex_dump(const char *level, const char *prefix_str, const void *buf, size_t len, bool ascii); extern void print_hex_dump_bytes(const char *prefix_str, int prefix_type, const void *buf, size_t len); -#define hex_asc(x) "0123456789abcdef"[x] + +extern const char hex_asc[]; +#define hex_asc_lo(x) hex_asc[((x) & 0x0f)] +#define hex_asc_hi(x) hex_asc[((x) & 0xf0) >> 4] + +static inline char *pack_hex_byte(char *buf, u8 byte) +{ + *buf++ = hex_asc_hi(byte); + *buf++ = hex_asc_lo(byte); + return buf; +}
Any idea how much this will bloat kernel once it has, lets say 100 users? 5k, 10k? -- i.