sh: use the common ascii hex helpers
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
This commit is contained in:
committed by
Paul Mundt
parent
65b83427c6
commit
bfd3c7a728
@@ -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)
|
|||||||
|
|
||||||
/* '#' 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)
|
|||||||
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)
|
|||||||
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);
|
|||||||
/* 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
|
||||||
|
Reference in New Issue
Block a user