From bb2f9df0a1d5e7cbd333c39cd485a42a19a772dc Mon Sep 17 00:00:00 2001 From: merry <git@mary.rs> Date: Fri, 11 Mar 2022 02:16:32 +0000 Subject: KThread: Fix GetPsr mask (#3180) * ExecutionContext: GetPstate / SetPstate * Put it in NativeContext * KThread: Fix GetPsr mask * ExecutionContext: Turn methods into Pstate property * Address nit --- Ryujinx.HLE/HOS/Kernel/Threading/KThread.cs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'Ryujinx.HLE/HOS/Kernel/Threading/KThread.cs') diff --git a/Ryujinx.HLE/HOS/Kernel/Threading/KThread.cs b/Ryujinx.HLE/HOS/Kernel/Threading/KThread.cs index 60f5e1a8..ee701a69 100644 --- a/Ryujinx.HLE/HOS/Kernel/Threading/KThread.cs +++ b/Ryujinx.HLE/HOS/Kernel/Threading/KThread.cs @@ -658,10 +658,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading private static uint GetPsr(ARMeilleure.State.ExecutionContext context) { - return (context.GetPstateFlag(ARMeilleure.State.PState.NFlag) ? (1U << (int)ARMeilleure.State.PState.NFlag) : 0U) | - (context.GetPstateFlag(ARMeilleure.State.PState.ZFlag) ? (1U << (int)ARMeilleure.State.PState.ZFlag) : 0U) | - (context.GetPstateFlag(ARMeilleure.State.PState.CFlag) ? (1U << (int)ARMeilleure.State.PState.CFlag) : 0U) | - (context.GetPstateFlag(ARMeilleure.State.PState.VFlag) ? (1U << (int)ARMeilleure.State.PState.VFlag) : 0U); + return context.Pstate & 0xFF0FFE20; } private ThreadContext GetCurrentContext() @@ -1371,7 +1368,7 @@ namespace Ryujinx.HLE.HOS.Kernel.Threading PreferredCore = _originalPreferredCore; AffinityMask = _originalAffinityMask; - + if (AffinityMask != affinityMask) { if ((AffinityMask & 1UL << ActiveCore) != 0) -- cgit v1.2.3-70-g09d2