SVC: Difference between revisions
Line 11: | Line 11: | ||
| 0x4 || [[#svcMapMemory]] || X0=dstaddr, X1=srcaddr, X2=size || W0=result | | 0x4 || [[#svcMapMemory]] || X0=dstaddr, X1=srcaddr, X2=size || W0=result | ||
|- | |- | ||
| 0x5 || svcUnmapMemory || X0=dstaddr, X1=srcaddr, X2=size || W0=result | | 0x5 || [[#svcUnmapMemory]] || X0=dstaddr, X1=srcaddr, X2=size || W0=result | ||
|- | |- | ||
| 0x6 || svcQueryMemory || X0=meminfo_ptr, X2=addr || W0=result, W1=pageinfo | | 0x6 || svcQueryMemory || X0=meminfo_ptr, X2=addr || W0=result, W1=pageinfo | ||
Line 255: | Line 255: | ||
Destination range is enforced to be within a special region. Code can get the range of this region from [[#svcGetInfo]] id0=2,3. | Destination range is enforced to be within a special region. Code can get the range of this region from [[#svcGetInfo]] id0=2,3. | ||
== svcUnmapMemory == | |||
'''Description:''' Unmaps a region that was previously mapped with [[#svcMapMemory]]. | |||
It's possible to unmap ranges partially, you don't need to unmap the entire range "in one go". | |||
The srcaddr/dstaddr must match what was given when the pages were originally mapped. | |||
== svcCreateThread == | == svcCreateThread == | ||
'''Description:''' Create a thread in the current process. | |||
Processor_id must be 0,1,2,3 or -2, where -2 uses the default cpuid for process. | Processor_id must be 0,1,2,3 or -2, where -2 uses the default cpuid for process. | ||
== svcSleepThread == | == svcSleepThread == | ||
'''Description:''' Sleep for a specified amount of time, or yield thread. | |||
Setting nano=0 means "yield thread". | Setting nano=0 means "yield thread". | ||