summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar bunnei2018-03-29 21:07:49 -0400
committerGravatar bunnei2018-03-29 21:23:15 -0400
commitf6893969b38112a96e92f3a5f8779c4854c95365 (patch)
tree047b5f11cdb5d921b29afad96dc86a639d9c7ff4 /src
parentservice: Add NFP module interface. (diff)
downloadyuzu-f6893969b38112a96e92f3a5f8779c4854c95365.tar.gz
yuzu-f6893969b38112a96e92f3a5f8779c4854c95365.tar.xz
yuzu-f6893969b38112a96e92f3a5f8779c4854c95365.zip
svc: Stub GetThreadCoreMask.
Diffstat (limited to 'src')
-rw-r--r--src/core/hle/kernel/svc.cpp14
-rw-r--r--src/core/hle/kernel/svc_wrap.h15
2 files changed, 26 insertions, 3 deletions
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp
index 311ab4187..171bbd956 100644
--- a/src/core/hle/kernel/svc.cpp
+++ b/src/core/hle/kernel/svc.cpp
@@ -756,8 +756,16 @@ static ResultCode CreateTransferMemory(Handle* handle, VAddr addr, u64 size, u32
756 return RESULT_SUCCESS; 756 return RESULT_SUCCESS;
757} 757}
758 758
759static ResultCode SetThreadCoreMask(u64, u64, u64) { 759static ResultCode GetThreadCoreMask(Handle handle, u32* mask, u64* unknown) {
760 LOG_WARNING(Kernel_SVC, "(STUBBED) called"); 760 LOG_WARNING(Kernel_SVC, "(STUBBED) called, handle=0x%08X", handle);
761 *mask = 0x0;
762 *unknown = 0xf;
763 return RESULT_SUCCESS;
764}
765
766static ResultCode SetThreadCoreMask(Handle handle, u32 mask, u64 unknown) {
767 LOG_WARNING(Kernel_SVC, "(STUBBED) called, handle=0x%08X, mask=0x%08X, unknown=0x%lx", handle,
768 mask, unknown);
761 return RESULT_SUCCESS; 769 return RESULT_SUCCESS;
762} 770}
763 771
@@ -809,7 +817,7 @@ static const FunctionDef SVC_Table[] = {
809 {0x0B, SvcWrap<SleepThread>, "SleepThread"}, 817 {0x0B, SvcWrap<SleepThread>, "SleepThread"},
810 {0x0C, SvcWrap<GetThreadPriority>, "GetThreadPriority"}, 818 {0x0C, SvcWrap<GetThreadPriority>, "GetThreadPriority"},
811 {0x0D, SvcWrap<SetThreadPriority>, "SetThreadPriority"}, 819 {0x0D, SvcWrap<SetThreadPriority>, "SetThreadPriority"},
812 {0x0E, nullptr, "GetThreadCoreMask"}, 820 {0x0E, SvcWrap<GetThreadCoreMask>, "GetThreadCoreMask"},
813 {0x0F, SvcWrap<SetThreadCoreMask>, "SetThreadCoreMask"}, 821 {0x0F, SvcWrap<SetThreadCoreMask>, "SetThreadCoreMask"},
814 {0x10, SvcWrap<GetCurrentProcessorNumber>, "GetCurrentProcessorNumber"}, 822 {0x10, SvcWrap<GetCurrentProcessorNumber>, "GetCurrentProcessorNumber"},
815 {0x11, nullptr, "SignalEvent"}, 823 {0x11, nullptr, "SignalEvent"},
diff --git a/src/core/hle/kernel/svc_wrap.h b/src/core/hle/kernel/svc_wrap.h
index b224f5e67..5da4f5269 100644
--- a/src/core/hle/kernel/svc_wrap.h
+++ b/src/core/hle/kernel/svc_wrap.h
@@ -70,6 +70,21 @@ void SvcWrap() {
70 FuncReturn(retval); 70 FuncReturn(retval);
71} 71}
72 72
73template <ResultCode func(u32, u32, u64)>
74void SvcWrap() {
75 FuncReturn(func((u32)(PARAM(0) & 0xFFFFFFFF), (u32)(PARAM(1) & 0xFFFFFFFF), PARAM(2)).raw);
76}
77
78template <ResultCode func(u32, u32*, u64*)>
79void SvcWrap() {
80 u32 param_1 = 0;
81 u64 param_2 = 0;
82 ResultCode retval = func((u32)(PARAM(2) & 0xFFFFFFFF), &param_1, &param_2);
83 Core::CPU().SetReg(1, param_1);
84 Core::CPU().SetReg(2, param_2);
85 FuncReturn(retval.raw);
86}
87
73template <ResultCode func(u64, u64, u32, u32)> 88template <ResultCode func(u64, u64, u32, u32)>
74void SvcWrap() { 89void SvcWrap() {
75 FuncReturn( 90 FuncReturn(