svc: Stub GetThreadCoreMask.
This commit is contained in:
parent
deaf6f9e35
commit
f6893969b3
|
@ -756,8 +756,16 @@ static ResultCode CreateTransferMemory(Handle* handle, VAddr addr, u64 size, u32
|
||||||
return RESULT_SUCCESS;
|
return RESULT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static ResultCode SetThreadCoreMask(u64, u64, u64) {
|
static ResultCode GetThreadCoreMask(Handle handle, u32* mask, u64* unknown) {
|
||||||
LOG_WARNING(Kernel_SVC, "(STUBBED) called");
|
LOG_WARNING(Kernel_SVC, "(STUBBED) called, handle=0x%08X", handle);
|
||||||
|
*mask = 0x0;
|
||||||
|
*unknown = 0xf;
|
||||||
|
return RESULT_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
static ResultCode SetThreadCoreMask(Handle handle, u32 mask, u64 unknown) {
|
||||||
|
LOG_WARNING(Kernel_SVC, "(STUBBED) called, handle=0x%08X, mask=0x%08X, unknown=0x%lx", handle,
|
||||||
|
mask, unknown);
|
||||||
return RESULT_SUCCESS;
|
return RESULT_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -809,7 +817,7 @@ static const FunctionDef SVC_Table[] = {
|
||||||
{0x0B, SvcWrap<SleepThread>, "SleepThread"},
|
{0x0B, SvcWrap<SleepThread>, "SleepThread"},
|
||||||
{0x0C, SvcWrap<GetThreadPriority>, "GetThreadPriority"},
|
{0x0C, SvcWrap<GetThreadPriority>, "GetThreadPriority"},
|
||||||
{0x0D, SvcWrap<SetThreadPriority>, "SetThreadPriority"},
|
{0x0D, SvcWrap<SetThreadPriority>, "SetThreadPriority"},
|
||||||
{0x0E, nullptr, "GetThreadCoreMask"},
|
{0x0E, SvcWrap<GetThreadCoreMask>, "GetThreadCoreMask"},
|
||||||
{0x0F, SvcWrap<SetThreadCoreMask>, "SetThreadCoreMask"},
|
{0x0F, SvcWrap<SetThreadCoreMask>, "SetThreadCoreMask"},
|
||||||
{0x10, SvcWrap<GetCurrentProcessorNumber>, "GetCurrentProcessorNumber"},
|
{0x10, SvcWrap<GetCurrentProcessorNumber>, "GetCurrentProcessorNumber"},
|
||||||
{0x11, nullptr, "SignalEvent"},
|
{0x11, nullptr, "SignalEvent"},
|
||||||
|
|
|
@ -70,6 +70,21 @@ void SvcWrap() {
|
||||||
FuncReturn(retval);
|
FuncReturn(retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template <ResultCode func(u32, u32, u64)>
|
||||||
|
void SvcWrap() {
|
||||||
|
FuncReturn(func((u32)(PARAM(0) & 0xFFFFFFFF), (u32)(PARAM(1) & 0xFFFFFFFF), PARAM(2)).raw);
|
||||||
|
}
|
||||||
|
|
||||||
|
template <ResultCode func(u32, u32*, u64*)>
|
||||||
|
void SvcWrap() {
|
||||||
|
u32 param_1 = 0;
|
||||||
|
u64 param_2 = 0;
|
||||||
|
ResultCode retval = func((u32)(PARAM(2) & 0xFFFFFFFF), ¶m_1, ¶m_2);
|
||||||
|
Core::CPU().SetReg(1, param_1);
|
||||||
|
Core::CPU().SetReg(2, param_2);
|
||||||
|
FuncReturn(retval.raw);
|
||||||
|
}
|
||||||
|
|
||||||
template <ResultCode func(u64, u64, u32, u32)>
|
template <ResultCode func(u64, u64, u32, u32)>
|
||||||
void SvcWrap() {
|
void SvcWrap() {
|
||||||
FuncReturn(
|
FuncReturn(
|
||||||
|
|
Loading…
Reference in New Issue