SVC: Difference between revisions
moved thread related stuff to Multi-threading page |
|||
Line 62: | Line 62: | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| Result [[#CreateThread|CreateThread]](Handle* thread, func entrypoint, u32 arg, u32 stacktop, s32 threadpriority, s32 processorid) | | Result [[Multi-threading#CreateThread|CreateThread]](Handle* thread, func entrypoint, u32 arg, u32 stacktop, s32 threadpriority, s32 processorid) | ||
| | | | ||
|- | |- | ||
Line 69: | Line 69: | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| void ExitThread(void) | | void [[Multi-threading#ExitThread|ExitThread]](void) | ||
| | | | ||
|- | |- | ||
Line 76: | Line 76: | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| void SleepThread(s64 nanoseconds) | | void [[Multi-threading#SleepThread|SleepThread]](s64 nanoseconds) | ||
| | | | ||
|- | |- | ||
Line 83: | Line 83: | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| Result GetThreadPriority(s32* priority, Handle thread) | | Result [[Multi-threading#GetThreadPriority|GetThreadPriority]](s32* priority, Handle thread) | ||
| | | | ||
|- | |- | ||
Line 90: | Line 90: | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| Result SetThreadPriority(Handle thread, s32 priority) | | Result [[Multi-threading#SetThreadPriority|SetThreadPriority]](Handle thread, s32 priority) | ||
| | | | ||
|- | |- | ||
Line 97: | Line 97: | ||
| style="background: red" | No | | style="background: red" | No | ||
| style="background: red" | No | | style="background: red" | No | ||
| Result GetThreadAffinityMask(u8* affinitymask, Handle thread, s32 processorcount) | | Result [[Multi-threading#GetThreadAffinityMask|GetThreadAffinityMask]](u8* affinitymask, Handle thread, s32 processorcount) | ||
| | | | ||
|- | |- | ||
Line 104: | Line 104: | ||
| style="background: red" | No | | style="background: red" | No | ||
| style="background: red" | No | | style="background: red" | No | ||
| Result SetThreadAffinityMask(Handle thread, u8* affinitymask, s32 processorcount) | | Result [[Multi-threading#SetThreadAffinityMask|SetThreadAffinityMask]](Handle thread, u8* affinitymask, s32 processorcount) | ||
| Replaced with a stub in ARM11 NATIVE_FIRM kernel beginning with [[8.0.0-18]]. | | Replaced with a stub in ARM11 NATIVE_FIRM kernel beginning with [[8.0.0-18]]. | ||
|- | |- | ||
Line 111: | Line 111: | ||
| style="background: red" | No | | style="background: red" | No | ||
| style="background: red" | No | | style="background: red" | No | ||
| Result GetThreadIdealProcessor(s32* processorid, Handle thread) | | Result [[Multi-threading#GetThreadIdealProcessor|GetThreadIdealProcessor]](s32* processorid, Handle thread) | ||
| | | | ||
|- | |- | ||
Line 118: | Line 118: | ||
| style="background: red" | No | | style="background: red" | No | ||
| style="background: red" | No | | style="background: red" | No | ||
| Result SetThreadIdealProcessor(Handle thread, s32 processorid) | | Result [[Multi-threading#SetThreadIdealProcessor|SetThreadIdealProcessor]](Handle thread, s32 processorid) | ||
| Replaced with a stub in ARM11 NATIVE_FIRM kernel beginning with [[8.0.0-18]]. | | Replaced with a stub in ARM11 NATIVE_FIRM kernel beginning with [[8.0.0-18]]. | ||
|- | |- | ||
Line 139: | Line 139: | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| Result CreateMutex(Handle* mutex, bool initialLocked) | | Result [[Multi-threading#CreateMutex|CreateMutex]](Handle* mutex, bool initialLocked) | ||
| | | | ||
|- | |- | ||
Line 146: | Line 146: | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| Result ReleaseMutex(Handle mutex) | | Result [[Multi-threading#ReleaseMutex|ReleaseMutex]](Handle mutex) | ||
| | | | ||
|- | |- | ||
Line 153: | Line 153: | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| Result CreateSemaphore(Handle* semaphore, s32 initialCount, s32 maxCount) | | Result [[Multi-threading#CreateSemaphore|CreateSemaphore]](Handle* semaphore, s32 initialCount, s32 maxCount) | ||
| | | | ||
|- | |- | ||
Line 160: | Line 160: | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| Result ReleaseSemaphore(s32* count, Handle semaphore, s32 releaseCount) | | Result [[Multi-threading#ReleaseSemaphore|ReleaseSemaphore]](s32* count, Handle semaphore, s32 releaseCount) | ||
| | | | ||
|- | |- | ||
Line 167: | Line 167: | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| Result CreateEvent(Handle* event, ResetType resettype) | | Result [[Multi-threading#CreateEvent|CreateEvent]](Handle* event, ResetType resettype) | ||
| | | | ||
|- | |- | ||
Line 174: | Line 174: | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| Result SignalEvent(Handle event) | | Result [[Multi-threading#SignalEvent|SignalEvent]](Handle event) | ||
| | | | ||
|- | |- | ||
Line 181: | Line 181: | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| Result ClearEvent(Handle event) | | Result [[Multi-threading#ClearEvent|ClearEvent]](Handle event) | ||
| | | | ||
|- | |- | ||
Line 314: | Line 314: | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| Result GetThreadInfo(s64* out, Handle thread, ThreadInfoType type) | | Result [[Multi-threading#GetThreadInfo|GetThreadInfo]](s64* out, Handle thread, ThreadInfoType type) | ||
| | | | ||
|- | |- | ||
Line 374: | Line 374: | ||
| style="background: red" | No | | style="background: red" | No | ||
| style="background: red" | No | | style="background: red" | No | ||
| Result OpenThread(Handle* thread, Handle process, u32 threadId) | | Result [[Multi-threading#OpenThread|OpenThread]](Handle* thread, Handle process, u32 threadId) | ||
| | | | ||
|- | |- | ||
Line 388: | Line 388: | ||
| style="background: red" | No | | style="background: red" | No | ||
| style="background: red" | No | | style="background: red" | No | ||
| Result GetProcessIdOfThread(u32* processId, Handle thread) | | Result [[Multi-threading#GetProcessIdOfThread|GetProcessIdOfThread]](u32* processId, Handle thread) | ||
| | | | ||
|- | |- | ||
Line 395: | Line 395: | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| style="background: green" | Yes | | style="background: green" | Yes | ||
| Result GetThreadId(u32* threadId, Handle thread) | | Result [[Multi-threading#GetThreadId|GetThreadId]](u32* threadId, Handle thread) | ||
| | | | ||
|- | |- | ||
Line 423: | Line 423: | ||
| style="background: red" | No | | style="background: red" | No | ||
| style="background: red" | No | | style="background: red" | No | ||
| Result GetThreadContext(ThreadContext* context, Handle thread) | | Result [[Multi-threading#GetThreadContext|GetThreadContext]](ThreadContext* context, Handle thread) | ||
| Stubbed | | Stubbed | ||
|- | |- | ||
Line 668: | Line 668: | ||
| style="background: red" | No | | style="background: red" | No | ||
| style="background: red" | No | | style="background: red" | No | ||
| GetDebugThreadParam(long long *, int *, nn::Handle, unsigned int, nn::dmnt::DebugThreadParam) | | [[Multi-threading#GetDebugThreadParam|GetDebugThreadParam]](long long *, int *, nn::Handle, unsigned int, nn::dmnt::DebugThreadParam) | ||
| Disabled on regular kernel. | | Disabled on regular kernel. | ||
|- style="border-top: double" | |- style="border-top: double" | ||
Line 782: | Line 782: | ||
<pre>ROM:FFF04D98 LDR R0, =0xF8C007F4 | <pre>ROM:FFF04D98 LDR R0, =0xF8C007F4 | ||
ROM:FFF04D9C BX LR</pre> | ROM:FFF04D9C BX LR</pre> | ||
= Types and structures = | = Types and structures = | ||