mirror of https://github.com/mgba-emu/mgba.git
Stub out [qQvV].* commands
This commit is contained in:
parent
1c60ada7de
commit
e4375fd3d9
|
@ -77,11 +77,12 @@ static void _sendMessage(struct GDBStub* stub) {
|
|||
stub->lineAck = GDB_ACK_PENDING;
|
||||
}
|
||||
uint8_t checksum = 0;
|
||||
int i;
|
||||
int i = 1;
|
||||
char buffer = stub->outgoing[0];
|
||||
char swap;
|
||||
stub->outgoing[0] = '$';
|
||||
for (i = 1; i < GDB_STUB_MAX_LINE - 5; ++i) {
|
||||
if (buffer) {
|
||||
for (; i < GDB_STUB_MAX_LINE - 5; ++i) {
|
||||
checksum += buffer;
|
||||
swap = stub->outgoing[i];
|
||||
stub->outgoing[i] = buffer;
|
||||
|
@ -91,6 +92,7 @@ static void _sendMessage(struct GDBStub* stub) {
|
|||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
stub->outgoing[i] = '#';
|
||||
_int2hex8(checksum, &stub->outgoing[i + 1]);
|
||||
stub->outgoing[i + 3] = 0;
|
||||
|
@ -166,7 +168,27 @@ static void _readRegister(struct GDBStub* stub, const char* message) {
|
|||
return;
|
||||
}
|
||||
_int2hex32(value, stub->outgoing);
|
||||
stub->outgoing[8] = 0;
|
||||
stub->outgoing[8] = '\0';
|
||||
_sendMessage(stub);
|
||||
}
|
||||
|
||||
static void _processQMinCommand(struct GDBStub* stub, const char* message) {
|
||||
stub->outgoing[0] = '\0';
|
||||
_sendMessage(stub);
|
||||
}
|
||||
|
||||
static void _processQMajCommand(struct GDBStub* stub, const char* message) {
|
||||
stub->outgoing[0] = '\0';
|
||||
_sendMessage(stub);
|
||||
}
|
||||
|
||||
static void _processVMajCommand(struct GDBStub* stub, const char* message) {
|
||||
stub->outgoing[0] = '\0';
|
||||
_sendMessage(stub);
|
||||
}
|
||||
|
||||
static void _processVMinCommand(struct GDBStub* stub, const char* message) {
|
||||
stub->outgoing[0] = '\0';
|
||||
_sendMessage(stub);
|
||||
}
|
||||
|
||||
|
@ -228,6 +250,18 @@ size_t _parseGDBMessage(struct GDBStub* stub, const char* message) {
|
|||
case 'p':
|
||||
_readRegister(stub, message);
|
||||
break;
|
||||
case 'Q':
|
||||
_processQMajCommand(stub, message);
|
||||
break;
|
||||
case 'q':
|
||||
_processQMinCommand(stub, message);
|
||||
break;
|
||||
case 'V':
|
||||
_processVMajCommand(stub, message);
|
||||
break;
|
||||
case 'v':
|
||||
_processVMinCommand(stub, message);
|
||||
break;
|
||||
default:
|
||||
_error(stub, GDB_UNSUPPORTED_COMMAND);
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue