diff --git a/nx/include/switch/svc.h b/nx/include/switch/svc.h index e714c84d..270153b8 100644 --- a/nx/include/switch/svc.h +++ b/nx/include/switch/svc.h @@ -69,6 +69,7 @@ Result svcMapDeviceAddressSpaceAligned(Handle handle, Handle proc_handle, u64 de Result svcUnmapDeviceAddressSpace(Handle handle, Handle proc_handle, u64 map_addr, u64 map_size, u64 perm); Result svcDebugActiveProcess(Handle* debug, u32 processID); Result svcContinueDebugEvent(Handle debug, u32 flags, u64 unk); +Result svcGetProcessList(u32 *num_out, u64 *pids_out, u32 max_pids); Result svcQueryDebugProcessMemory(MemInfo* meminfo_ptr, u32* pageinfo, Handle debug, u64 addr); Result svcReadDebugProcessMemory(void* buffer, Handle debug, u64 addr, u64 size); Result svcManageNamedPort(Handle* portServer, const char* name, s32 maxSessions); diff --git a/nx/source/kernel/svc.s b/nx/source/kernel/svc.s index cca821fa..cf7a038c 100644 --- a/nx/source/kernel/svc.s +++ b/nx/source/kernel/svc.s @@ -240,6 +240,14 @@ SVC_BEGIN svcContinueDebugEvent ret SVC_END +SVC_BEGIN svcGetProcessList + str x0, [sp, #-16]! + svc 0x65 + ldr x2, [sp], #16 + str w1, [x2] + ret +SVC_END + SVC_BEGIN svcQueryDebugProcessMemory str x1, [sp, #-16]! svc 0x69