SVC: Difference between revisions

Roblabla (talk | contribs)
CreateDeviceAddressSpace 32-bit regs
Roblabla (talk | contribs)
Add svcMapDeviceAddressSpaceByForce/Aligned
Line 198: Line 198:
| 0x58 || [[#svcDetachDeviceAddressSpace]] || W0=device, X1=dev_as_handle || W0=result
| 0x58 || [[#svcDetachDeviceAddressSpace]] || W0=device, X1=dev_as_handle || W0=result
|-
|-
| 0x59 || [[#svcMapDeviceAddressSpaceByForce]] || W0=dev_as_handle, W1=proc_handle, X2=dev_map_addr, X3=dev_as_size, X4=dev_as_addr, W5=perm || W0=result  
| 0x59 || [[#svcMapDeviceAddressSpaceByForce]] || W0=dev_as_handle, W1=proc_handle, X2=dev_map_addr, X3=dev_as_size, X4=dev_as_addr, W5=perm
R0=dev_as_handle, R1=proc_handle, R2=dev_map_addr_lower32, R3=dev_map_addr_upper32, R4=rev_as_size, R5=dev_as_addr_lower32, R6=dev_as_addr_upper32, R7=perm
|| W0=result  
|-
|-
| 0x5A || [[#svcMapDeviceAddressSpaceAligned]] || W0=dev_as_handle, W1=proc_handle, X2=dev_map_addr, X3=dev_as_size, X4=dev_as_addr, W5=perm || W0=result  
| 0x5A || [[#svcMapDeviceAddressSpaceAligned]] || W0=dev_as_handle, W1=proc_handle, X2=dev_map_addr, X3=dev_as_size, X4=dev_as_addr, W5=perm
R0=dev_as_handle, R1=proc_handle, R2=dev_map_addr_lower32, R3=dev_map_addr_upper32, R4=rev_as_size, R5=dev_as_addr_lower32, R6=dev_as_addr_upper32, R7=perm
|| W0=result  
|-
|-
| 0x5B || svcMapDeviceAddressSpace || ||  
| 0x5B || svcMapDeviceAddressSpace || ||  
Line 1,263: Line 1,267:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Argument || Type || Name
! Argument64 || Argument32 || Type || Name
|-
|-
| (In) W0 || Handle<DeviceAddressSpace> || DeviceAsHandle
| (In) W0 || R0 || Handle<DeviceAddressSpace> || DeviceAsHandle
|-
|-
| (In) W1 || Handle<Process> || ProcessHandle
| (In) W1 || R1 || Handle<Process> || ProcessHandle
|-
|-
| (In) X2 || void* || SrcAddr
| (In) X2 || R2, R3 || void* || SrcAddr
|-
|-
| (In) X3 || u64 || DeviceAsSize
| (In) X3 || R4 || u64 || DeviceAsSize
|-
|-
| (In) X4 || u64 || DeviceAsAddr
| (In) X4 || R5, R6 || u64 || DeviceAsAddr
|-
|-
| (In) W5 || [[#Permission]] || Permissions
| (In) W5 || R7 || [[#Permission]] || Permissions
|-
|-
| (Out) W0 || [[#Result]] || Ret
| (Out) W0 || R0 || [[#Result]] || Ret
|}
|}
</div>
</div>
Line 1,292: Line 1,296:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Argument || Type || Name
! Argument64 || Argument32 || Type || Name
|-
|-
| (In) W0 || Handle<DeviceAddressSpace> || DeviceAsHandle
| (In) W0 || R0 || Handle<DeviceAddressSpace> || DeviceAsHandle
|-
|-
| (In) W1 || Handle<Process> || ProcessHandle
| (In) W1 || R1 || Handle<Process> || ProcessHandle
|-
|-
| (In) X2 || void* || SrcAddr
| (In) X2 || R2, R3 || void* || SrcAddr
|-
|-
| (In) X3 || u64 || DeviceAsSize
| (In) X3 || R4 || u64 || DeviceAsSize
|-
|-
| (In) X4 || u64 || DeviceAsAddr
| (In) X4 || R5, R6 || u64 || DeviceAsAddr
|-
|-
| (In) W5 || [[#Permission]] || Permissions
| (In) W5 || R7 || [[#Permission]] || Permissions
|-
|-
| (Out) W0 || [[#Result]] || Ret
| (Out) W0 || R0 || [[#Result]] || Ret
|}
|}
</div>
</div>