diff --git a/External/FEXCore/Source/Interface/Config/Config.cpp b/External/FEXCore/Source/Interface/Config/Config.cpp index d2d570ddb..b6174047e 100644 --- a/External/FEXCore/Source/Interface/Config/Config.cpp +++ b/External/FEXCore/Source/Interface/Config/Config.cpp @@ -19,7 +19,7 @@ namespace FEXCore::Config { CTX->Config.VirtualMemSize = Config; break; case FEXCore::Config::CONFIG_SINGLESTEP: - CTX->RunningMode = Config != 0 ? FEXCore::Context::CoreRunningMode::MODE_SINGLESTEP : FEXCore::Context::CoreRunningMode::MODE_RUN; + CTX->Config.RunningMode = Config != 0 ? FEXCore::Context::CoreRunningMode::MODE_SINGLESTEP : FEXCore::Context::CoreRunningMode::MODE_RUN; break; case FEXCore::Config::CONFIG_GDBSERVER: Config != 0 ? CTX->StartGdbServer() : CTX->StopGdbServer(); @@ -64,7 +64,7 @@ namespace FEXCore::Config { return CTX->Config.VirtualMemSize; break; case FEXCore::Config::CONFIG_SINGLESTEP: - return CTX->RunningMode == FEXCore::Context::CoreRunningMode::MODE_SINGLESTEP ? 1 : 0; + return CTX->Config.RunningMode == FEXCore::Context::CoreRunningMode::MODE_SINGLESTEP ? 1 : 0; case FEXCore::Config::CONFIG_GDBSERVER: return CTX->GetGdbServerStatus(); break; diff --git a/External/FEXCore/Source/Interface/Context/Context.h b/External/FEXCore/Source/Interface/Context/Context.h index 926e14f7b..51a51f2a8 100644 --- a/External/FEXCore/Source/Interface/Context/Context.h +++ b/External/FEXCore/Source/Interface/Context/Context.h @@ -50,6 +50,7 @@ namespace FEXCore::Context { bool BreakOnFrontendFailure {true}; int64_t MaxInstPerBlock {-1LL}; uint64_t VirtualMemSize {1ULL << 36}; + CoreRunningMode RunningMode {CoreRunningMode::MODE_RUN}; FEXCore::Config::ConfigCore Core {FEXCore::Config::CONFIG_INTERPRETER}; bool GdbServer {false}; bool UnifiedMemory {true}; @@ -74,7 +75,6 @@ namespace FEXCore::Context { Event PauseWait; bool Running{}; - CoreRunningMode RunningMode {CoreRunningMode::MODE_RUN}; FEXCore::CPUIDEmu CPUID; std::unique_ptr SyscallHandler; diff --git a/External/FEXCore/Source/Interface/Core/Core.cpp b/External/FEXCore/Source/Interface/Core/Core.cpp index 4c8a8500f..3e5fa7785 100644 --- a/External/FEXCore/Source/Interface/Core/Core.cpp +++ b/External/FEXCore/Source/Interface/Core/Core.cpp @@ -830,7 +830,7 @@ namespace FEXCore::Context { break; } - if (RunningMode == FEXCore::Context::CoreRunningMode::MODE_SINGLESTEP || Thread->State.RunningEvents.ShouldPause) { + if (Config.RunningMode == FEXCore::Context::CoreRunningMode::MODE_SINGLESTEP || Thread->State.RunningEvents.ShouldPause) { Thread->State.RunningEvents.Running = false; Thread->State.RunningEvents.WaitingToStart = false;