Ryujinx/Ryujinx.HLE/HOS/Kernel/Threading/ThreadSchedState.cs
Mary e96ef6d532
kernel: Implement thread pinning support (#2840)
* kernel: Implement Thread pinning support

This commit adds support for 8.x thread pinning changes and implement SynchronizePreemptionState syscall.

Based on kernel 13.x reverse.

* Address gdkchan's comment

* kernel: fix missing critical section leave in SetActivity

Fix Unity games

* Implement missing bits on the interrupt handler and inline update pinning function as it cannot be generic

* Fix some bugs in SetActivity and SetCoreAndAffinityMask

* Address gdkchan's comments
2021-12-30 10:55:06 +01:00

20 lines
517 B
C#

namespace Ryujinx.HLE.HOS.Kernel.Threading
{
enum ThreadSchedState : ushort
{
LowMask = 0xf,
HighMask = 0xfff0,
ForcePauseMask = 0x1f0,
ProcessPauseFlag = 1 << 4,
ThreadPauseFlag = 1 << 5,
ProcessDebugPauseFlag = 1 << 6,
BacktracePauseFlag = 1 << 7,
KernelInitPauseFlag = 1 << 8,
None = 0,
Paused = 1,
Running = 2,
TerminationPending = 3
}
}