Implement breakpoints (untested)
This commit is contained in:
+18
-1
@@ -6,13 +6,30 @@
|
||||
#include <stdbool.h>
|
||||
#include <vb.h>
|
||||
|
||||
typedef enum rdb_server_stop_reason_t {
|
||||
/* not even stopped */
|
||||
stop_reason_none,
|
||||
/* we are stepping */
|
||||
stop_reason_trace,
|
||||
/* we hit an actual breakpoint */
|
||||
stop_reason_breakpoint,
|
||||
/* the user hit pause */
|
||||
stop_reason_trap,
|
||||
/* some opcode is not implemented */
|
||||
stop_reason_not_implemented
|
||||
} rdb_server_stop_reason_t;
|
||||
|
||||
#define RDB_SERVER_MAX_BREAKPOINTS 16
|
||||
typedef struct RdbServer {
|
||||
VB *sim;
|
||||
bool running;
|
||||
uint32_t brks[RDB_SERVER_MAX_BREAKPOINTS];
|
||||
uint32_t brkslen;
|
||||
rdb_server_stop_reason_t stopreason;
|
||||
} RdbServer;
|
||||
|
||||
void rdbServerInit(RdbServer *srv, VB *sim);
|
||||
int rdbServerHandleCommand(RdbServer *srv, CommandBuf *cmd, RdbResponse *res);
|
||||
int rdbServerBreak(RdbServer *srv, RdbResponse *res);
|
||||
int rdbServerSendStopPacket(RdbServer *srv, RdbResponse *res);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user