SVC: Difference between revisions

Neimod (talk | contribs)
No edit summary
Neimod (talk | contribs)
No edit summary
Line 6: Line 6:
|-
|-
| 0x1  
| 0x1  
| ControlMemory(u32* outaddr, u32 addr0, u32 addr1, u32 size, u32 operation, u32 permissions) (outaddr is usually the same as the input addr0)
| Result ControlMemory(u32* outaddr, u32 addr0, u32 addr1, u32 size, u32 operation, u32 permissions) (outaddr is usually the same as the input addr0)
|-
|-
| 0x2  
| 0x2  
| QueryMemory(MemoryInfo* info, PageInfo* out, u32 Addr)
| Result  QueryMemory(MemoryInfo* info, PageInfo* out, u32 Addr)
|-
|-
| 0x3  
| 0x3  
| ExitProcess(void)
| void ExitProcess(void)
|-
|-
| 0x4  
| 0x4  
| GetProcessAffinityMask(u8* affinitymask, Handle process, s32 processorcount)
| Result  GetProcessAffinityMask(u8* affinitymask, Handle process, s32 processorcount)
|-
|-
| 0x5  
| 0x5  
| SetProcessAffinityMask(Handle process, u8* affinitymask, s32 processorcount)
| Result SetProcessAffinityMask(Handle process, u8* affinitymask, s32 processorcount)
|-
|-
| 0x6  
| 0x6  
| GetProcessIdealProcessor(s32 *idealprocessor, Handle process)
| Result GetProcessIdealProcessor(s32 *idealprocessor, Handle process)
|-
|-
| 0x7  
| 0x7  
| SetProcessIdealProcessor(Handle process, s32 idealprocessor)
| Result SetProcessIdealProcessor(Handle process, s32 idealprocessor)
|-
|-
| 0x8  
| 0x8  
| CreateThread(Handle* thread, func entrypoint, u32 arg, u32 stacktop, s32 threadpriority, s32 processorid)
| Result CreateThread(Handle* thread, func entrypoint, u32 arg, u32 stacktop, s32 threadpriority, s32 processorid)
|-
|-
| 0x9  
| 0x9  
| ExitThread(void)
| void ExitThread(void)
|-
|-
| 0xA  
| 0xA  
| SleepThread(s64 nanoseconds)
| void SleepThread(s64 nanoseconds)
|-
|-
| 0xB  
| 0xB  
| GetThreadPriority(s32* priority, Handle thread)
| Result GetThreadPriority(s32* priority, Handle thread)
|-
|-
| 0xC  
| 0xC  
| SetThreadPriority(Handle thread, s32 priority)
| Result SetThreadPriority(Handle thread, s32 priority)
|-
|-
| 0xD  
| 0xD  
| GetThreadAffinityMask(u8* affinitymask, Handle thread, s32 processorcount)
| Result GetThreadAffinityMask(u8* affinitymask, Handle thread, s32 processorcount)
|-
|-
| 0xE  
| 0xE  
| SetThreadAffinityMask(Handle thread, u8* affinitymask, s32 processorcount)
| Result SetThreadAffinityMask(Handle thread, u8* affinitymask, s32 processorcount)
|-
|-
| 0xF  
| 0xF  
| GetThreadIdealProcessor(s32* processorid, Handle thread)
| Result GetThreadIdealProcessor(s32* processorid, Handle thread)
|-
|-
| 0x10  
| 0x10  
| SetThreadIdealProcessor(Handle thread, s32 processorid)
| Result SetThreadIdealProcessor(Handle thread, s32 processorid)
|-
|-
| 0x11  
| 0x11  
| GetCurrentProcessorNumber(void)
| s32 GetCurrentProcessorNumber(void)
|-
|-
| 0x12  
| 0x12  
| Run(Handle process, StartupInfo* info) (This starts the main() thread. Buf+0 is main-thread priority, Buf+4 is main-thread stack-size.)
| Result Run(Handle process, StartupInfo* info) (This starts the main() thread. Buf+0 is main-thread priority, Buf+4 is main-thread stack-size.)
|-
|-
| 0x13  
| 0x13  
| CreateMutex(Handle* mutex, bool initialLocked)
| Result CreateMutex(Handle* mutex, bool initialLocked)
|-
|-
| 0x14  
| 0x14  
| ReleaseMutex(Handle mutex)
| Result ReleaseMutex(Handle mutex)
|-
|-
| 0x15  
| 0x15  
| CreateSemaphore(Handle* semaphore, s32 initialCount, s32 maxCount)
| Result CreateSemaphore(Handle* semaphore, s32 initialCount, s32 maxCount)
|-
|-
| 0x16  
| 0x16  
| ReleaseSemaphore(s32* count, Handle semaphore, s32 releaseCount)
| Result ReleaseSemaphore(s32* count, Handle semaphore, s32 releaseCount)
|-
|-
| 0x17  
| 0x17  
| CreateEvent(Handle* event, ResetType resettype)
| Result CreateEvent(Handle* event, ResetType resettype)
|-
|-
| 0x18  
| 0x18  
| SignalEvent(Handle event)
| Result SignalEvent(Handle event)
|-
|-
| 0x19  
| 0x19  
| ClearEvent(Handle event)
| Result ClearEvent(Handle event)
|-
|-
| 0x1A  
| 0x1A  
| CreateTimer(Handle* timer, ResetType resettype)
| Result CreateTimer(Handle* timer, ResetType resettype)
|-
|-
| 0x1B  
| 0x1B  
| SetTimer(Handle timer, s64 initial, s64 interval)
| Result SetTimer(Handle timer, s64 initial, s64 interval)
|-
|-
| 0x1C  
| 0x1C  
| CancelTimer(Handle timer)
| Result CancelTimer(Handle timer)
|-
|-
| 0x1D  
| 0x1D  
| ClearTimer(Handle timer)
| Result ClearTimer(Handle timer)
|-
|-
| 0x1E  
| 0x1E  
| CreateMemoryBlock(Handle* memblock, u32 memory, u32 size, u32 mypermission, u32 otherpermission)
| Result CreateMemoryBlock(Handle* memblock, u32 memory, u32 size, u32 mypermission, u32 otherpermission)
|-
|-
| 0x1F  
| 0x1F  
| MapMemoryBlock(Handle memblock, u32 addr, u32 mypermissions, u32 otherpermission)
| Result MapMemoryBlock(Handle memblock, u32 addr, u32 mypermissions, u32 otherpermission)
|-
|-
| 0x20  
| 0x20  
| UnmapMemoryBlock(Handle memblock, u32 addr)
| Result UnmapMemoryBlock(Handle memblock, u32 addr)
|-
|-
| 0x21  
| 0x21  
| CreateAddressArbiter(Handle* arbiter)
| Result CreateAddressArbiter(Handle* arbiter)
|-
|-
| 0x22  
| 0x22  
| ArbitrateAddress(Handle arbiter, u32 addr, ArbitrationType type, s32 value)
| Result ArbitrateAddress(Handle arbiter, u32 addr, ArbitrationType type, s32 value)
|-
|-
| 0x23  
| 0x23  
| CloseHandle(Handle handle)
| Result CloseHandle(Handle handle)
|-
|-
| 0x24  
| 0x24  
| WaitSynchronization1(Handle handle, s64 nanoseconds)
| Result WaitSynchronization1(Handle handle, s64 nanoseconds)
|-
|-
| 0x25  
| 0x25  
| WaitSynchronizationN(s32* out, Handle* handles, s32 handlecount, bool waitAll, s64 nanoseconds)
| Result WaitSynchronizationN(s32* out, Handle* handles, s32 handlecount, bool waitAll, s64 nanoseconds)
|-
|-
| 0x26  
| 0x26  
| SignalAndWait
| Result SignalAndWait(s32* out, Handle signal, Handle* handles, s32 handleCount, bool waitAll, s64 nanoseconds)
|-
|-
| 0x27  
| 0x27  
| DuplicateHandle
| Result DuplicateHandle(Handle* out, Handle original)
|-
|-
| 0x28  
| 0x28  
| GetSystemTick
| s64 GetSystemTick(void)
|-
|-
| 0x29  
| 0x29  
| GetHandleInfo
| Result GetHandleInfo(s64* out, Handle handle, HandleInfoType type)
|-
|-
| 0x2A  
| 0x2A  
| GetSystemInfo(unsigned long long *Output, unsigned int Type0, unsigned int Type1)
| Result GetSystemInfo(s64* out, SystemInfoType type, s32 param)
|-
|-
| 0x2B  
| 0x2B  
| GetProcessInfo(unsigned long long *Output, Handle KProcess, unsigned int Type)
| Result GetProcessInfo(s64* out, Handle process, ProcessInfoType type)
|-
|-
| 0x2C  
| 0x2C  
| GetThreadInfo
| Result GetThreadInfo(s64* out, Handle thread, ThreadInfoType type)
|-
|-
| 0x2D  
| 0x2D  
| ConnectToPort(Handle*, char *PortName)
| Result ConnectToPort(Handle* out, const char* portName)
|-
|-
| 0x2E  
| 0x2E