kgdb: use the common ascii hex helpers
Subsystems (2)
PATCH 4/9 kgdb: use the common ascii hex helpers
Signed-off-by Harvey Harrison <[email protected]>
--- drivers/misc/kgdbts.c | 5 ++--- kernel/kgdb.c | 36 +++++++++++------------------------- 2 files changed, 13 insertions(+), 28 deletions(-)
drivers/misc/kgdbts.c +2 -3
@@ -118,7 +118,6 @@ } while (0)#define MAX_CONFIG_LEN 40 -static const char hexchars[] ="0123456789abcdef" ;static struct kgdb_io kgdbts_io_ops;static char get_buf[BUFMAX ];static int get_buf_cnt;
@@ -618,8 +617,8 @@ static void fill_get_buf(char *buf) count++; }strcat (get_buf,"#" ); - get_buf[count +2 ] = hexchars[checksum >>4 ]; - get_buf[count +3 ] = hexchars[checksum &0xf ]; + get_buf[count +2 ] =hex_asc_hi (checksum); + get_buf[count +3 ] =hex_asc_lo (checksum); get_buf[count +4 ] ='\0' ;v2printk ("get%i: %s\n" , ts.idx, get_buf); }
kernel/kgdb.c +11 -25
@@ -226,20 +226,6 @@ void __weak kgdb_disable_hw_debug(struct pt_regs *regs)/* * GDB remote protocol parser: */ - -static const char hexchars[] ="0123456789abcdef" ; - -static int hex (char ch) -{ -if ((ch >='a' ) && (ch <='f' )) -return ch -'a' +10 ; -if ((ch >='0' ) && (ch <='9' )) -return ch -'0' ; -if ((ch >='A' ) && (ch <='F' )) -return ch -'A' +10 ; -return -1 ; -} -/* scan for the sequence $<data>#<checksum> */ static void get_packet (char *buffer) {
@@ -276,8 +262,8 @@ static void get_packet(char *buffer) buffer[count] =0 ;if (ch =='#' ) { - xmitcsum =hex (kgdb_io_ops->read_char ()) <<4 ; - xmitcsum +=hex (kgdb_io_ops->read_char ()); + xmitcsum =hex_to_int (kgdb_io_ops->read_char ()) <<4 ; + xmitcsum +=hex_to_int (kgdb_io_ops->read_char ());if (checksum != xmitcsum)/* failed checksum */
@@ -316,8 +302,8 @@ static void put_packet(char *buffer) } kgdb_io_ops->write_char ('#' ); - kgdb_io_ops->write_char (hexchars[checksum >>4 ]); - kgdb_io_ops->write_char (hexchars[checksum &0xf ]); + kgdb_io_ops->write_char (hex_asc_hi (checksum)); + kgdb_io_ops->write_char (hex_asc_lo (checksum));if (kgdb_io_ops->flush) kgdb_io_ops->flush ();
@@ -348,8 +334,8 @@ static void put_packet(char *buffer)static char *pack_hex_byte (char *pkt,u8 byte) { - *pkt++ = hexchars[byte >>4 ]; - *pkt++ = hexchars[byte &0xf ]; + *pkt++ =hex_asc_hi (byte); + *pkt++ =hex_asc_lo (byte);return pkt; }
@@ -427,8 +413,8 @@ int kgdb_hex2mem(char *buf, char *mem, int count) tmp_hex = tmp_raw -1 ;while (tmp_hex >= buf) { tmp_raw--; - *tmp_raw =hex (*tmp_hex--); - *tmp_raw |=hex (*tmp_hex--) <<4 ; + *tmp_raw =hex_to_int (*tmp_hex--); + *tmp_raw |=hex_to_int (*tmp_hex--) <<4 ; }return probe_kernel_write (mem, tmp_raw, count);
@@ -446,7 +432,7 @@ int kgdb_hex2long(char **ptr, long *long_val) *long_val =0 ;while (**ptr) { - hex_val =hex (**ptr); + hex_val =hex_to_int (**ptr);if (hex_val <0 )break ;
@@ -486,8 +472,8 @@ static void error_packet(char *pkt, int error) { error = -error; pkt[0 ] ='E' ; - pkt[1 ] = hexchars[(error /10 )]; - pkt[2 ] = hexchars[(error %10 )]; + pkt[1 ] = hex_asc[(error /10 )]; + pkt[2 ] = hex_asc[(error %10 )]; pkt[3 ] ='\0' ; }
Signature · 1 line
1.5.5.1.305.g7c84