SVC: Difference between revisions

 
(3 intermediate revisions by 2 users not shown)
Line 255: Line 255:
| 0x7F || void || [[#CallSecureMonitor|CallSecureMonitor]] || SecureMonitorArguments *args
| 0x7F || void || [[#CallSecureMonitor|CallSecureMonitor]] || SecureMonitorArguments *args
|-
|-
| [S2] 0x80 || Result || SetMemoryAttribute2? || uintptr_t address, size_t size, uint32_t mask, uint32_t attr
| [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 2,671: Line 2,675:
| Process || 28 || 0 || [18.0.0+] AliasRegionExtraSize
| Process || 28 || 0 || [18.0.0+] AliasRegionExtraSize
|-
|-
| Process || 29 || 0 || [S2] Returns 0 in compatibility processes.
| Process || 29 || 0 || [S2] RemoteRegionAddress
|-
|-
| Process || 30 || 0 || [S2] Returns 0 in compatibility processes.
| Process || 30 || 0 || [S2] RemoteRegionSize
|-
|-
| Process || 31 || 0 || [S2]  
| Process || 31 || 0 || [S2] RemoteMemoryUsage
|-
|-
| Process || 32 || 0 || [S2]  
| Process || 32 || 0 || [S2] RemoteMemoryUsagePeak
|-
|-
| Process || 33 || 0 || [S2] ProcessPageSize
| Process || 33 || 0 || [S2] ProcessPageSize
Line 3,018: Line 3,022:
| 4 || PermissionLocked ||  
| 4 || PermissionLocked ||  
|-
|-
| 5-6 || [S2] ? || GPU/IOMMU related?
| 5 || [S2] GpuSharable ||
|-
| 6 || [S2] GpuShared ||  
|-
|-
|}
|}
Line 3,367: Line 3,373:
Userland reporting path and [[#ReturnFromException]]:
Userland reporting path and [[#ReturnFromException]]:


TLS region start (A64):
TLS region start (UserExceptionContext):
{| class=wikitable
{| class=wikitable
! Offset || Length || Description
! Offset || Length || Description
Line 3,373: 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,397: Line 3,407:
|-
|-
| 0x70 || 0x8 || far
| 0x70 || 0x8 || far
|}
TLS region start (A32):
{| class=wikitable
! Offset || Length || Description
|-
| 0x0 || 0x178 || Exception stack
|-
| 0x148 || 0x44 || ExceptionFrameA32
|}
|}