SVC: Difference between revisions
Add ControlCodeMemory 32-bit perms (Good guy nintendo allowing 32-bit JITs) |
32-bit regs for CreateThread. Bad Guy Nintendo is after my sanity. |
||
Line 19: | Line 19: | ||
| 0x7 || [[#svcExitProcess]] || None || | | 0x7 || [[#svcExitProcess]] || None || | ||
|- | |- | ||
| 0x8 || [[#svcCreateThread]] || X1=entry, X2=thread_context, X3=stacktop, W4=prio, W5=processor_id | | 0x8 || [[#svcCreateThread]] || X1=entry, X2=thread_context, X3=stacktop, W4=prio, W5=processor_id | ||
R0=prio, R1=entry, R2=thread_context, R3=stacktop, R4=processor_id || W0=result, W1=handle | |||
|- | |- | ||
| 0x9 || [[#svcStartThread]] || W0=thread_handle || W0=result | | 0x9 || [[#svcStartThread]] || W0=thread_handle || W0=result | ||
Line 448: | Line 449: | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
! | ! Argument64 || Argument32 || Type || Name | ||
|- | |- | ||
| (In) X1 || void(*)(void*) || Entry | | (In) X1 || R1 || void(*)(void*) || Entry | ||
|- | |- | ||
| (In) X2 || void* || ThreadContext | | (In) X2 || R2 || void* || ThreadContext | ||
|- | |- | ||
| (In) X3 || void* || StackTop | | (In) X3 || R3 || void* || StackTop | ||
|- | |- | ||
| (In) W4 || u32 || Priority | | (In) W4 || R0 || u32 || Priority | ||
|- | |- | ||
| (In) W5 || u32 || ProcessorId | | (In) W5 || R4 || u32 || ProcessorId | ||
|- | |- | ||
| (Out) W0 || [[#Result]] || Ret | | (Out) W0 || [[#Result]] || Ret |