gdb: Fix GdbWriteRegister endianness

This commit is contained in:
Coxxs 2025-06-21 05:25:22 +08:00
parent 36bb910e67
commit e547c4f5f4

View file

@ -86,38 +86,38 @@ namespace Ryujinx.HLE.Debugger
{ {
case >= 0 and <= 31: case >= 0 and <= 31:
{ {
ulong value = ss.ReadLengthAsHex(16); ulong value = ss.ReadLengthAsLEHex(16);
state.SetX(gdbRegId, value); state.SetX(gdbRegId, value);
return true; return true;
} }
case 32: case 32:
{ {
ulong value = ss.ReadLengthAsHex(16); ulong value = ss.ReadLengthAsLEHex(16);
state.DebugPc = value; state.DebugPc = value;
return true; return true;
} }
case 33: case 33:
{ {
ulong value = ss.ReadLengthAsHex(8); ulong value = ss.ReadLengthAsLEHex(8);
state.Pstate = (uint)value; state.Pstate = (uint)value;
return true; return true;
} }
case >= 34 and <= 65: case >= 34 and <= 65:
{ {
ulong value0 = ss.ReadLengthAsHex(16); ulong value0 = ss.ReadLengthAsLEHex(16);
ulong value1 = ss.ReadLengthAsHex(16); ulong value1 = ss.ReadLengthAsLEHex(16);
state.SetV(gdbRegId - 34, new V128(value0, value1)); state.SetV(gdbRegId - 34, new V128(value0, value1));
return true; return true;
} }
case 66: case 66:
{ {
ulong value = ss.ReadLengthAsHex(8); ulong value = ss.ReadLengthAsLEHex(8);
state.Fpsr = (uint)value; state.Fpsr = (uint)value;
return true; return true;
} }
case 67: case 67:
{ {
ulong value = ss.ReadLengthAsHex(8); ulong value = ss.ReadLengthAsLEHex(8);
state.Fpcr = (uint)value; state.Fpcr = (uint)value;
return true; return true;
} }
@ -158,32 +158,32 @@ namespace Ryujinx.HLE.Debugger
{ {
case >= 0 and <= 14: case >= 0 and <= 14:
{ {
ulong value = ss.ReadLengthAsHex(8); ulong value = ss.ReadLengthAsLEHex(8);
state.SetX(gdbRegId, value); state.SetX(gdbRegId, value);
return true; return true;
} }
case 15: case 15:
{ {
ulong value = ss.ReadLengthAsHex(8); ulong value = ss.ReadLengthAsLEHex(8);
state.DebugPc = value; state.DebugPc = value;
return true; return true;
} }
case 16: case 16:
{ {
ulong value = ss.ReadLengthAsHex(8); ulong value = ss.ReadLengthAsLEHex(8);
state.Pstate = (uint)value; state.Pstate = (uint)value;
return true; return true;
} }
case >= 17 and <= 32: case >= 17 and <= 32:
{ {
ulong value0 = ss.ReadLengthAsHex(16); ulong value0 = ss.ReadLengthAsLEHex(16);
ulong value1 = ss.ReadLengthAsHex(16); ulong value1 = ss.ReadLengthAsLEHex(16);
state.SetV(gdbRegId - 17, new V128(value0, value1)); state.SetV(gdbRegId - 17, new V128(value0, value1));
return true; return true;
} }
case >= 33 and <= 64: case >= 33 and <= 64:
{ {
ulong value = ss.ReadLengthAsHex(16); ulong value = ss.ReadLengthAsLEHex(16);
int regId = (gdbRegId - 33); int regId = (gdbRegId - 33);
int regNum = regId / 2; int regNum = regId / 2;
int shift = regId % 2; int shift = regId % 2;
@ -193,7 +193,7 @@ namespace Ryujinx.HLE.Debugger
} }
case 65: case 65:
{ {
ulong value = ss.ReadLengthAsHex(8); ulong value = ss.ReadLengthAsLEHex(8);
state.Fpsr = (uint)value & FpcrMask; state.Fpsr = (uint)value & FpcrMask;
state.Fpcr = (uint)value & ~FpcrMask; state.Fpcr = (uint)value & ~FpcrMask;
return true; return true;