From a10fff279bc447a7bd2f04fe9efcacea6a8fc85c Mon Sep 17 00:00:00 2001 From: Gliniak Date: Sun, 27 Sep 2020 18:05:28 +0200 Subject: [PATCH] Added missing paramteter to KeSetAffinityThread --- src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc index a77bb2c56..6ac2902cc 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc @@ -224,12 +224,20 @@ void KeSetCurrentStackPointers(lpvoid_t stack_ptr, } DECLARE_XBOXKRNL_EXPORT1(KeSetCurrentStackPointers, kThreading, kImplemented); -dword_result_t KeSetAffinityThread(lpvoid_t thread_ptr, dword_t affinity) { +dword_result_t KeSetAffinityThread(lpvoid_t thread_ptr, dword_t affinity, + lpdword_t previous_affinity_ptr) { + uint32_t previous_affinity = 0; + auto thread = XObject::GetNativeObject(kernel_state(), thread_ptr); if (thread) { + previous_affinity = thread->affinity(); thread->SetAffinity(affinity); } + if (previous_affinity_ptr) { + *previous_affinity_ptr = previous_affinity; + } + return (uint32_t)affinity; } DECLARE_XBOXKRNL_EXPORT1(KeSetAffinityThread, kThreading, kImplemented);