From 015f3cffb92befa7d877af6d59c9cfb135cc0c0d Mon Sep 17 00:00:00 2001 From: Ryan Houdek Date: Thu, 30 Apr 2026 12:59:53 -0700 Subject: [PATCH] arm64ec: Fixes crash in many games with SDL+Dualsense We were pointing to an incorrect function pointer and exploding when a pending suspend doorbell had occured. --- Source/Windows/ARM64EC/Module.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Windows/ARM64EC/Module.cpp b/Source/Windows/ARM64EC/Module.cpp index 8df18573c..a112a28a6 100644 --- a/Source/Windows/ARM64EC/Module.cpp +++ b/Source/Windows/ARM64EC/Module.cpp @@ -677,7 +677,7 @@ bool ResetToConsistentStateImpl(const ThreadCPUArea CPUArea, EXCEPTION_RECORD* E // A suspend interrupt can occur in ExitFunctionEC before InSimulation is unset and set SuspendDoorbell. If this // occurs then it is still our duty to cooperatively suspend with an appropriate context. To support this, after // unsetting InSimulation a brk #0xCAFE instruction will be raised that we can handle here. - NativeContext->Pc = reinterpret_cast(ExitFunctionSuspendResumePoint); // Jump to the suspend resume point. + NativeContext->Pc = reinterpret_cast(&ExitFunctionSuspendResumePoint); // Jump to the suspend resume point. *CPUArea.Area->SuspendDoorbell = 0; return true; }