From a7bfef97acdc2500d95663e4ed52ef03604977a5 Mon Sep 17 00:00:00 2001 From: ParantezTech <12572227+par274@users.noreply.github.com> Date: Thu, 8 Oct 2026 23:44:40 +0300 Subject: [PATCH] [Cpu] Report the flags and Sony stack alias in guest exception contexts Co-authored-by: Sekai <140012992+SekaixX@users.noreply.github.com> --- src/SharpEmu.Core/Cpu/Native/DirectExecutionBackend.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/SharpEmu.Core/Cpu/Native/DirectExecutionBackend.cs b/src/SharpEmu.Core/Cpu/Native/DirectExecutionBackend.cs index cc70e22..d348d20 100644 --- a/src/SharpEmu.Core/Cpu/Native/DirectExecutionBackend.cs +++ b/src/SharpEmu.Core/Cpu/Native/DirectExecutionBackend.cs @@ -5405,9 +5405,10 @@ public sealed unsafe partial class DirectExecutionBackend : INativeCpuBackend, I var rip = hasContinuation ? continuation.Rip : context.Rip; var rsp = hasContinuation ? continuation.Rsp : context[CpuRegister.Rsp]; Write64(mcontext + 0xA0, rip); - Write64(mcontext + 0xB0, hasContinuation ? continuation.Rflags : 0); + Write64(mcontext + 0xB0, hasContinuation ? continuation.Rflags : context.Rflags); Write64(mcontext + 0xB8, rsp); Write64(mcontext + 0xC8, 0x480); // sizeof(Orbis mcontext_t) + Write64(mcontext + 0xF8, rsp); Write64(mcontext + 0x440, hasContinuation ? continuation.FsBase : context.FsBase); Write64(mcontext + 0x448, hasContinuation ? continuation.GsBase : context.GsBase); return context.Memory.TryWrite(address, bytes);