diff options
| author | Mary <me@thog.eu> | 2021-12-30 10:55:06 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-12-30 10:55:06 +0100 |
| commit | e96ef6d53250b72d084f7e6baf13e9bab485bca2 (patch) | |
| tree | 5701772c89dbad3bf51bdf736714f9feb889472a /Ryujinx.HLE/HOS/Kernel/SupervisorCall/Syscall.cs | |
| parent | 8544b1445b33381fca63714249ac36598c413004 (diff) | |
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
Diffstat (limited to 'Ryujinx.HLE/HOS/Kernel/SupervisorCall/Syscall.cs')
| -rw-r--r-- | Ryujinx.HLE/HOS/Kernel/SupervisorCall/Syscall.cs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/Ryujinx.HLE/HOS/Kernel/SupervisorCall/Syscall.cs b/Ryujinx.HLE/HOS/Kernel/SupervisorCall/Syscall.cs index 59d56b4d..2dd9d807 100644 --- a/Ryujinx.HLE/HOS/Kernel/SupervisorCall/Syscall.cs +++ b/Ryujinx.HLE/HOS/Kernel/SupervisorCall/Syscall.cs @@ -2655,6 +2655,13 @@ namespace Ryujinx.HLE.HOS.Kernel.SupervisorCall }; } + public KernelResult SynchronizePreemptionState() + { + KernelStatic.GetCurrentThread().SynchronizePreemptionState(); + + return KernelResult.Success; + } + private bool IsPointingInsideKernel(ulong address) { return (address + 0x1000000000) < 0xffffff000; |
