SVC: Difference between revisions

Lioncache (talk | contribs)
svcSleepThread doesn't actually return a result in the kernel. Also amend its description to include the yielding types.
Line 25: Line 25:
|  0xA || [[#svcExitThread]] || None ||                                                         
|  0xA || [[#svcExitThread]] || None ||                                                         
|-
|-
|  0xB || [[#svcSleepThread]] || X0=nano || W0=result
|  0xB || [[#svcSleepThread]] || X0=nano ||
|-
|-
|  0xC || [[#svcGetThreadPriority]] || W1=thread_handle || W0=result, W1=prio
|  0xC || [[#svcGetThreadPriority]] || W1=thread_handle || W0=result, W1=prio
Line 478: Line 478:
! Argument || Type || Name
! Argument || Type || Name
|-
|-
| (In) X0 || u64 || Nano
| (In) X0 || s64 || Nanoseconds
|-
|-
| (Out) W0 || [[#Result]] || Ret
|}
|}
</div>
</div>
Line 486: Line 485:
'''Description:''' Sleep for a specified amount of time, or yield thread.
'''Description:''' Sleep for a specified amount of time, or yield thread.


Setting nano=0 means "yield thread".
Setting nanoseconds to 0, -1, or -2 indicates a yielding type.
 
<div style="display: inline-block;">
{| class="wikitable" border="1"
|-
! Value || Type
|-
| 0 || Yielding without core migration
|-
| -1 || Yielding with core migration
|-
| -2 || Yielding to any other thread
|-
|}
</div>


== svcGetThreadPriority ==
== svcGetThreadPriority ==