提交 bfd3c7a7 编写于 作者: H Harvey Harrison 提交者: Paul Mundt

sh: use the common ascii hex helpers

Signed-off-by: NHarvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
上级 65b83427
...@@ -274,8 +274,7 @@ static char *mem_to_hex(const char *mem, char *buf, const int count) ...@@ -274,8 +274,7 @@ static char *mem_to_hex(const char *mem, char *buf, const int count)
} }
for (i = 0; i < count; i++) { for (i = 0; i < count; i++) {
ch = *mem++; ch = *mem++;
*buf++ = highhex(ch); buf = pack_hex_byte(buf, ch);
*buf++ = lowhex(ch);
} }
*buf = 0; *buf = 0;
return (buf); return (buf);
...@@ -427,8 +426,8 @@ static void put_packet(char *buffer) ...@@ -427,8 +426,8 @@ static void put_packet(char *buffer)
/* '#' Separator, put high and low components of checksum */ /* '#' Separator, put high and low components of checksum */
put_debug_char('#'); put_debug_char('#');
put_debug_char(highhex(checksum)); put_debug_char(hex_asc_hi(checksum));
put_debug_char(lowhex(checksum)); put_debug_char(hex_asc_lo(checksum));
} }
while ((get_debug_char()) != '+'); /* While no ack */ while ((get_debug_char()) != '+'); /* While no ack */
} }
...@@ -650,8 +649,8 @@ static void undo_single_step(void) ...@@ -650,8 +649,8 @@ static void undo_single_step(void)
static void send_signal_msg(const int signum) static void send_signal_msg(const int signum)
{ {
out_buffer[0] = 'S'; out_buffer[0] = 'S';
out_buffer[1] = highhex(signum); out_buffer[1] = hex_asc_hi(signum);
out_buffer[2] = lowhex(signum); out_buffer[2] = hex_asc_lo(signum);
out_buffer[3] = 0; out_buffer[3] = 0;
put_packet(out_buffer); put_packet(out_buffer);
} }
......
...@@ -184,15 +184,15 @@ static void put_string(struct sci_port *sci_port, const char *buffer, int count) ...@@ -184,15 +184,15 @@ static void put_string(struct sci_port *sci_port, const char *buffer, int count)
int h, l; int h, l;
c = *p++; c = *p++;
h = highhex(c); h = hex_asc_hi(c);
l = lowhex(c); l = hex_asc_lo(c);
put_char(port, h); put_char(port, h);
put_char(port, l); put_char(port, l);
checksum += h + l; checksum += h + l;
} }
put_char(port, '#'); put_char(port, '#');
put_char(port, highhex(checksum)); put_char(port, hex_asc_hi(checksum));
put_char(port, lowhex(checksum)); put_char(port, hex_asc_lo(checksum));
} while (get_char(port) != '+'); } while (get_char(port) != '+');
} else } else
#endif /* CONFIG_SH_STANDARD_BIOS || CONFIG_SH_KGDB */ #endif /* CONFIG_SH_STANDARD_BIOS || CONFIG_SH_KGDB */
......
...@@ -66,18 +66,4 @@ extern int setjmp(jmp_buf __jmpb); ...@@ -66,18 +66,4 @@ extern int setjmp(jmp_buf __jmpb);
/* Forced breakpoint */ /* Forced breakpoint */
#define breakpoint() __asm__ __volatile__("trapa #0x3c") #define breakpoint() __asm__ __volatile__("trapa #0x3c")
/* Taken from sh-stub.c of GDB 4.18 */
static const char hexchars[] = "0123456789abcdef";
/* Get high hex bits */
static inline char highhex(const int x)
{
return hexchars[(x >> 4) & 0xf];
}
/* Get low hex bits */
static inline char lowhex(const int x)
{
return hexchars[x & 0xf];
}
#endif #endif
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册