SVC: Difference between revisions
| (8 intermediate revisions by 3 users not shown) | |||
| Line 255: | Line 255: | ||
| 0x7F || void || [[#CallSecureMonitor|CallSecureMonitor]] || SecureMonitorArguments *args | | 0x7F || void || [[#CallSecureMonitor|CallSecureMonitor]] || SecureMonitorArguments *args | ||
|- | |- | ||
| [S2] 0x80 || Result || | | [S2] 0x80 || Result || SetGpuMemoryAttribute || uintptr_t address, size_t size, uint32_t mask, uint32_t attr | ||
|- | |||
| [S2] 0x81 || Result || LockGpuSharableMemory || PhysicalMemoryInfo* info_out, Handle process_handle, uintptr_t address, size_t size | |||
|- | |||
| [S2] 0x80 || Result || UnlockGpuSharableMemory || Handle process_handle, uintptr_t address, size_t size | |||
|- style="border-top: double" | |- style="border-top: double" | ||
| [15.0.0+] 0x90 || Result || MapInsecurePhysicalMemory || uintptr_t address, size_t size | | [15.0.0+] 0x90 || Result || MapInsecurePhysicalMemory || uintptr_t address, size_t size | ||
| Line 509: | Line 513: | ||
! Argument64 || Argument32 || Type || Name | ! Argument64 || Argument32 || Type || Name | ||
|- | |- | ||
| (In) X0 || R0, R1 || | | (In) X0 || R0, R1 || int64_t || Nanoseconds | ||
|} | |} | ||
</div> | </div> | ||
| Line 944: | Line 948: | ||
|} | |} | ||
</div> | </div> | ||
[S2] All errors returned by the SendSyncRequest* SVCs will automatically close the session (unknown whether handled by kernel/sysmodule). | |||
== SendSyncRequestWithUserBuffer == | == SendSyncRequestWithUserBuffer == | ||
| Line 2,669: | Line 2,675: | ||
| Process || 28 || 0 || [18.0.0+] AliasRegionExtraSize | | Process || 28 || 0 || [18.0.0+] AliasRegionExtraSize | ||
|- | |- | ||
| Process || 31 || 0 || [S2] | | Process || 29 || 0 || [S2] RemoteRegionAddress | ||
|- | |||
| Process || 30 || 0 || [S2] RemoteRegionSize | |||
|- | |||
| Process || 31 || 0 || [S2] RemoteMemoryUsage | |||
|- | |||
| Process || 32 || 0 || [S2] RemoteMemoryUsagePeak | |||
|- | |- | ||
| Process || | | Process || 33 || 0 || [S2] ProcessPageSize | ||
|- | |- | ||
| | | TransferMemory || 34 || 0 || [19.0.0+] TransferMemoryHint | ||
|} | |} | ||
| Line 3,010: | Line 3,022: | ||
| 4 || PermissionLocked || | | 4 || PermissionLocked || | ||
|- | |- | ||
| 5-6 || [S2] | | 5 || [S2] GpuSharable || | ||
|- | |||
| 6 || [S2] GpuShared || | |||
|- | |- | ||
|} | |} | ||
| Line 3,057: | Line 3,071: | ||
|- | |- | ||
| 26 || [15.0.0+] FlagLinearMapped || | | 26 || [15.0.0+] FlagLinearMapped || | ||
|- | |||
| 27 || [17.0.0+] FlagCanPermissionLock || | |||
|} | |} | ||
| Line 3,357: | Line 3,373: | ||
Userland reporting path and [[#ReturnFromException]]: | Userland reporting path and [[#ReturnFromException]]: | ||
TLS region start ( | TLS region start (UserExceptionContext): | ||
{| class=wikitable | {| class=wikitable | ||
! Offset || Length || Description | ! Offset || Length || Description | ||
| Line 3,363: | Line 3,379: | ||
| 0x0 || 0x148 || Exception stack | | 0x0 || 0x148 || Exception stack | ||
|- | |- | ||
| 0x148 || 0x78 || ExceptionFrameA64 | | 0x148 || 0x78 (A64) or 0x44 (A32) || ExceptionFrameA64 or ExceptionFrameA32 | ||
|- | |||
| 0x1C0 || 0x8 || DyingMessage address (unused by kernel) | |||
|- | |||
| 0x1C8 || 0x8 || DyingMessage size (unused by kernel) | |||
|} | |} | ||
| Line 3,387: | Line 3,407: | ||
|- | |- | ||
| 0x70 || 0x8 || far | | 0x70 || 0x8 || far | ||
|} | |} | ||