SVC: Difference between revisions
Line 201: | Line 201: | ||
| 0x72 || svcConnectToPort || W1=clientport_handle || W0=result, W1=session_handle | | 0x72 || svcConnectToPort || W1=clientport_handle || W0=result, W1=session_handle | ||
|- | |- | ||
| 0x73 || svcSetProcessMemoryPermission || | | 0x73 || [[#svcSetProcessMemoryPermission]] || W0=process_handle, X1=addr, X2=size, W3=perm || W0=result | ||
|- | |- | ||
| 0x74 || [[#svcMapProcessMemory]] || X0=srcaddr, W1=process_handle, X2=dstaddr, X3=size || W0=result | | 0x74 || [[#svcMapProcessMemory]] || X0=srcaddr, W1=process_handle, X2=dstaddr, X3=size || W0=result | ||
Line 1,118: | Line 1,118: | ||
'''Description:''' Unmaps an attached device address space from an userspace address. | '''Description:''' Unmaps an attached device address space from an userspace address. | ||
== svcSetProcessMemoryPermission == | |||
<div style="display: inline-block;"> | |||
{| class="wikitable" border="1" | |||
|- | |||
! Argument || Type || Name | |||
|- | |||
| (In) W0 || Handle<Process> || ProcessHandle | |||
|- | |||
| (In) X1 || u64 || Addr | |||
|- | |||
| (In) X2 || u64 || Size | |||
|- | |||
| (In) W3 || void* || Perm | |||
|- | |||
| (Out) W0 || [[#Result]] || Ret | |||
|} | |||
</div> | |||
This sets the memory permissions for the specified memory with the supplied process handle. | |||
This throws an error(0xD801) when the input perm is >0x5, hence -WX and RWX are not allowed. | |||
== svcMapProcessMemory == | == svcMapProcessMemory == | ||
Line 1,128: | Line 1,151: | ||
| (In) X0 || u64 || SrcAddr | | (In) X0 || u64 || SrcAddr | ||
|- | |- | ||
| (In) W1 || | | (In) W1 || Handle<Process> || ProcessHandle | ||
|- | |- | ||
| (In) X2 || void* || DstAddr | | (In) X2 || void* || DstAddr |