X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gdb%2Fsparcl-stub.c;h=3fcdc0ad7c1d3e156595bf4238ff6a2bb9b239bc;hb=1d9d99f32d861ae85dd59689ada801cc51d3ac91;hp=4f04b9706c534f13f1295b89e708c7d91b66a6ff;hpb=104c1213b4821a4b8664e66db4643a951b461576;p=binutils-gdb.git diff --git a/gdb/sparcl-stub.c b/gdb/sparcl-stub.c index 4f04b9706c5..3fcdc0ad7c1 100644 --- a/gdb/sparcl-stub.c +++ b/gdb/sparcl-stub.c @@ -50,6 +50,7 @@ * * g return the value of the CPU registers hex data or ENN * G set the value of the CPU registers OK or ENN + * P set the value of a single CPU register OK or ENN * * mAA..AA,LLLL Read LLLL bytes at address AA..AA hex data or ENN * MAA..AA,LLLL: Write LLLL bytes at address AA.AA OK or ENN @@ -64,9 +65,6 @@ * * ? What was the last sigval ? SNN (signal NN) * - * bBB..BB Set baud rate to BB..BB OK or BNN, then sets - * baud rate - * * All commands and responses are sent with a packet which includes a * checksum. A packet consists of * @@ -368,8 +366,7 @@ no_fpreload: /* Convert ch from a hex digit to an int */ static int -hex(ch) - unsigned char ch; +hex (unsigned char ch) { if (ch >= 'a' && ch <= 'f') return ch-'a'+10; @@ -380,12 +377,15 @@ hex(ch) return -1; } +static char remcomInBuffer[BUFMAX]; +static char remcomOutBuffer[BUFMAX]; + /* scan for the sequence $# */ unsigned char * -getpacket (buffer) - unsigned char *buffer; +getpacket (void) { + unsigned char *buffer = &remcomInBuffer[0]; unsigned char checksum; unsigned char xmitcsum; int count; @@ -449,8 +449,7 @@ retry: /* send the packet in buffer. */ static void -putpacket(buffer) - unsigned char *buffer; +putpacket (unsigned char *buffer) { unsigned char checksum; int count; @@ -478,9 +477,6 @@ putpacket(buffer) while (getDebugChar() != '+'); } -static char remcomInBuffer[BUFMAX]; -static char remcomOutBuffer[BUFMAX]; - /* Indicate to caller of mem2hex or hex2mem that there has been an error. */ static volatile int mem_err = 0; @@ -493,11 +489,7 @@ static volatile int mem_err = 0; */ static unsigned char * -mem2hex(mem, buf, count, may_fault) - unsigned char *mem; - unsigned char *buf; - int count; - int may_fault; +mem2hex (unsigned char *mem, unsigned char *buf, int count, int may_fault) { unsigned char ch; @@ -523,11 +515,7 @@ mem2hex(mem, buf, count, may_fault) * return a pointer to the character AFTER the last byte written */ static char * -hex2mem(buf, mem, count, may_fault) - unsigned char *buf; - unsigned char *mem; - int count; - int may_fault; +hex2mem (unsigned char *buf, unsigned char *mem, int count, int may_fault) { int i; unsigned char ch; @@ -578,7 +566,7 @@ static struct hard_trap_info /* Set up exception handlers for tracing and breakpoints */ void -set_debug_traps() +set_debug_traps (void) { struct hard_trap_info *ht; @@ -610,8 +598,7 @@ _fltr_set_mem_err: "); static void -set_mem_fault_trap(enable) - int enable; +set_mem_fault_trap (int enable) { extern void fltr_set_mem_err(); mem_err = 0; @@ -634,7 +621,7 @@ _dummy_hw_breakpoint: "); static void -get_in_break_mode() +get_in_break_mode (void) { extern void dummy_hw_breakpoint(); @@ -648,8 +635,7 @@ get_in_break_mode() /* Convert the SPARC hardware trap type code to a unix signal number. */ static int -computeSignal(tt) - int tt; +computeSignal (int tt) { struct hard_trap_info *ht; @@ -695,8 +681,7 @@ hexToInt(char **ptr, int *intValue) */ static void -handle_exception (registers) - unsigned long *registers; +handle_exception (unsigned long *registers) { int tt; /* Trap type */ int sigval; @@ -796,7 +781,7 @@ handle_exception (registers) { remcomOutBuffer[0] = 0; - ptr = getpacket(remcomInBuffer); + ptr = getpacket(); switch (*ptr++) { case '?': @@ -834,7 +819,7 @@ handle_exception (registers) hex2mem (ptr, (char *)®isters[regno], 4, 0); else { - strcpy (remcomOutBuffer, "P01"); + strcpy (remcomOutBuffer, "E01"); break; } } @@ -936,43 +921,6 @@ handle_exception (registers) asm ("call 0 nop "); break; - -#if 0 -Disabled until we can unscrew this properly - - case 'b': /* bBB... Set baud rate to BB... */ - { - int baudrate; - extern void set_timer_3(); - - if (!hexToInt(&ptr, &baudrate)) - { - strcpy(remcomOutBuffer,"B01"); - break; - } - - /* Convert baud rate to uart clock divider */ - switch (baudrate) - { - case 38400: - baudrate = 16; - break; - case 19200: - baudrate = 33; - break; - case 9600: - baudrate = 65; - break; - default: - strcpy(remcomOutBuffer,"B02"); - goto x1; - } - - putpacket("OK"); /* Ack before changing speed */ - set_timer_3(baudrate); /* Set it */ - } -x1: break; -#endif } /* switch */ /* reply to the request */ @@ -986,7 +934,7 @@ x1: break; the debugger. */ void -breakpoint() +breakpoint (void) { if (!initialized) return;