mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2026-05-21 04:35:46 +00:00
gdb: more cleanups
- convert GdbRegisters utilities into extensions on IExecutionContext - add a Write/Read Register helper on Debugger that handles 32/64 bit instead of doing that for every usage of register reading/writing
This commit is contained in:
@@ -105,14 +105,14 @@ namespace Ryujinx.HLE.Debugger.Gdb
|
||||
{
|
||||
for (int i = 0; i < GdbRegisterCount32; i++)
|
||||
{
|
||||
registers += GdbRegisters.Read32(ctx, i);
|
||||
registers += ctx.ReadRegister32(i);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for (int i = 0; i < GdbRegisterCount64; i++)
|
||||
{
|
||||
registers += GdbRegisters.Read64(ctx, i);
|
||||
registers += ctx.ReadRegister64(i);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -132,7 +132,7 @@ namespace Ryujinx.HLE.Debugger.Gdb
|
||||
{
|
||||
for (int i = 0; i < GdbRegisterCount32; i++)
|
||||
{
|
||||
if (!GdbRegisters.Write32(ctx, i, ss))
|
||||
if (!ctx.WriteRegister32(i, ss))
|
||||
{
|
||||
Processor.ReplyError();
|
||||
return;
|
||||
@@ -143,7 +143,7 @@ namespace Ryujinx.HLE.Debugger.Gdb
|
||||
{
|
||||
for (int i = 0; i < GdbRegisterCount64; i++)
|
||||
{
|
||||
if (!GdbRegisters.Write64(ctx, i, ss))
|
||||
if (!ctx.WriteRegister64(i, ss))
|
||||
{
|
||||
Processor.ReplyError();
|
||||
return;
|
||||
@@ -236,9 +236,7 @@ namespace Ryujinx.HLE.Debugger.Gdb
|
||||
}
|
||||
|
||||
IExecutionContext ctx = Debugger.DebugProcess.GetThread(Debugger.GThread.Value).Context;
|
||||
string result = Debugger.IsProcess32Bit
|
||||
? GdbRegisters.Read32(ctx, gdbRegId)
|
||||
: GdbRegisters.Read64(ctx, gdbRegId);
|
||||
string result = Debugger.ReadRegister(ctx, gdbRegId);
|
||||
|
||||
Processor.Reply(result != null, result);
|
||||
}
|
||||
@@ -252,14 +250,8 @@ namespace Ryujinx.HLE.Debugger.Gdb
|
||||
}
|
||||
|
||||
IExecutionContext ctx = Debugger.DebugProcess.GetThread(Debugger.GThread.Value).Context;
|
||||
if (Debugger.IsProcess32Bit)
|
||||
{
|
||||
Processor.Reply(GdbRegisters.Write32(ctx, gdbRegId, ss) && ss.IsEmpty());
|
||||
}
|
||||
else
|
||||
{
|
||||
Processor.Reply(GdbRegisters.Write64(ctx, gdbRegId, ss) && ss.IsEmpty());
|
||||
}
|
||||
|
||||
Processor.Reply(Debugger.WriteRegister(ctx, gdbRegId, ss) && ss.IsEmpty());
|
||||
}
|
||||
|
||||
internal void Step(ulong? newPc)
|
||||
|
||||
@@ -13,7 +13,7 @@ namespace Ryujinx.HLE.Debugger.Gdb
|
||||
*/
|
||||
private const uint FpcrMask = 0xfc1fffff;
|
||||
|
||||
public static string Read64(IExecutionContext state, int gdbRegId)
|
||||
public static string ReadRegister64(this IExecutionContext state, int gdbRegId)
|
||||
{
|
||||
switch (gdbRegId)
|
||||
{
|
||||
@@ -34,7 +34,7 @@ namespace Ryujinx.HLE.Debugger.Gdb
|
||||
}
|
||||
}
|
||||
|
||||
public static bool Write64(IExecutionContext state, int gdbRegId, StringStream ss)
|
||||
public static bool WriteRegister64(this IExecutionContext state, int gdbRegId, StringStream ss)
|
||||
{
|
||||
switch (gdbRegId)
|
||||
{
|
||||
@@ -80,7 +80,7 @@ namespace Ryujinx.HLE.Debugger.Gdb
|
||||
}
|
||||
}
|
||||
|
||||
public static string Read32(IExecutionContext state, int gdbRegId)
|
||||
public static string ReadRegister32(this IExecutionContext state, int gdbRegId)
|
||||
{
|
||||
switch (gdbRegId)
|
||||
{
|
||||
@@ -106,7 +106,7 @@ namespace Ryujinx.HLE.Debugger.Gdb
|
||||
}
|
||||
}
|
||||
|
||||
public static bool Write32(IExecutionContext state, int gdbRegId, StringStream ss)
|
||||
public static bool WriteRegister32(this IExecutionContext state, int gdbRegId, StringStream ss)
|
||||
{
|
||||
switch (gdbRegId)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user