GDBStub: Refactor the whole code

This commit is contained in:
aldelaro5
2021-10-01 11:15:30 -04:00
parent 94a0f416eb
commit 1b92f81379
8 changed files with 279 additions and 333 deletions

View File

@ -8,42 +8,21 @@
#include "Common/CommonTypes.h"
#include "Core/CoreTiming.h"
typedef enum
namespace GDBStub
{
GDB_SIGTRAP = 5,
GDB_SIGTERM = 15,
} gdb_signals;
typedef enum
enum class Signal
{
GDB_BP_TYPE_NONE = 0,
GDB_BP_TYPE_X,
GDB_BP_TYPE_R,
GDB_BP_TYPE_W,
GDB_BP_TYPE_A
} gdb_bp_type;
Sigtrap = 5,
Sigterm = 15,
};
const s64 GDB_UPDATE_CYCLES = 100000;
void Init(u32 port);
void InitLocal(const char* socket);
void Deinit();
bool IsActive();
bool HasControl();
void TakeControl();
void GDBStubUpdateCallback(u64 userdata, s64 cycles_late);
void gdb_init(u32 port);
void gdb_init_local(const char* socket);
void gdb_deinit();
bool gdb_active();
bool gdb_hasControl();
void gdb_takeControl();
void gdb_break();
void gdb_handle_exception(bool loopUntilContinue);
int gdb_signal(u32 signal);
int gdb_bp_x(u32 addr);
int gdb_bp_r(u32 addr);
int gdb_bp_w(u32 addr);
int gdb_bp_a(u32 addr);
bool gdb_add_bp(u32 type, u32 addr, u32 len);
void gdb_handle_exception(bool loop_until_continue);
void SendSignal(u32 signal);
void ProcessCommands(bool loop_until_continue);
void SendSignal(Signal signal);
} // namespace GDBStub