Compare commits

...

3 commits

Author SHA1 Message Date
Coxxs
4ce793331a Merge branch 'gdb-stub' into 'master'
Add GDB Stub

See merge request [ryubing/ryujinx!71](https://git.ryujinx.app/ryubing/ryujinx/-/merge_requests/71)
2025-06-21 02:39:09 -05:00
Coxxs
6afce6308c gdb: Do not use LightningJitEngine when GDB Stub is enabled 2025-06-21 15:38:32 +08:00
Coxxs
55a43dea45 gdb: Fix ExecutionContext 2025-06-21 14:31:00 +08:00
3 changed files with 16 additions and 5 deletions

View file

@ -153,7 +153,7 @@ namespace ARMeilleure.State
public void StepHandler()
{
_stepCallback.Invoke(this);
_stepCallback?.Invoke(this);
}
public void RequestDebugStep()
@ -166,7 +166,7 @@ namespace ARMeilleure.State
{
if (Optimizations.EnableDebugging)
{
DebugPc = Pc; // TODO: Is this the best place to update DebugPc?
DebugPc = Pc;
}
_breakCallback?.Invoke(this, address, imm);
@ -176,7 +176,7 @@ namespace ARMeilleure.State
{
if (Optimizations.EnableDebugging)
{
DebugPc = Pc; // TODO: Is this the best place to update DebugPc?
DebugPc = Pc;
}
_supervisorCallback?.Invoke(this, address, imm);

View file

@ -1,3 +1,4 @@
using ARMeilleure;
using ARMeilleure.Memory;
using ARMeilleure.State;
using System;
@ -127,7 +128,7 @@ namespace Ryujinx.Cpu.LightningJit.State
public void StepHandler()
{
_stepCallback.Invoke(this);
_stepCallback?.Invoke(this);
}
public void RequestDebugStep()
@ -138,11 +139,21 @@ namespace Ryujinx.Cpu.LightningJit.State
internal void OnBreak(ulong address, int imm)
{
if (Optimizations.EnableDebugging)
{
DebugPc = Pc;
}
_breakCallback?.Invoke(this, address, imm);
}
internal void OnSupervisorCall(ulong address, int imm)
{
if (Optimizations.EnableDebugging)
{
DebugPc = Pc;
}
_supervisorCallback?.Invoke(this, address, imm);
}

View file

@ -69,7 +69,7 @@ namespace Ryujinx.HLE.HOS
mode = MemoryManagerMode.SoftwarePageTable;
}
ICpuEngine cpuEngine = isArm64Host && (mode == MemoryManagerMode.HostMapped || mode == MemoryManagerMode.HostMappedUnsafe)
ICpuEngine cpuEngine = isArm64Host && (mode == MemoryManagerMode.HostMapped || mode == MemoryManagerMode.HostMappedUnsafe) && !context.Device.Configuration.EnableGdbStub
? new LightningJitEngine(_tickSource)
: new JitEngine(_tickSource);