Merge pull request #97 from yuriks/more-syscalls
Add a few more SVC call stubs
This commit is contained in:
commit
ce6fce07a1
@ -86,6 +86,14 @@ s32 svcGetSystemInfo(s64* out, u32 type, s32 param);
|
||||
s32 svcGetProcessInfo(s64* out, Handle process, u32 type);
|
||||
s32 svcConnectToPort(volatile Handle* out, const char* portName);
|
||||
s32 svcSendSyncRequest(Handle session);
|
||||
Result svcOpenProcess(Handle* process, u32 processId);
|
||||
s32 svcGetProcessId(u32 *out, Handle handle);
|
||||
s32 svcGetThreadId(u32 *out, Handle handle);
|
||||
s32 svcOutputDebugString(const char* str, int length);
|
||||
Result svcCreatePort(Handle* portServer, Handle* portClient, const char* name, s32 maxSessions);
|
||||
Result svcDebugActiveProcess(Handle* debug, u32 processId);
|
||||
Result svcGetProcessList(s32* processCount, u32* processIds, s32 processIdMaxCount);
|
||||
Result svcReadProcessMemory(void* buffer, Handle debug, u32 addr, u32 size);
|
||||
Result svcMapProcessMemory(Handle process, u32 startAddr, u32 endAddr);
|
||||
Result svcUnmapProcessMemory(Handle process, u32 startAddr, u32 endAddr);
|
||||
Result svcQueryProcessMemory(MemInfo* info, PageInfo* out, Handle process, u32 addr);
|
||||
|
@ -247,6 +247,15 @@ svcSendSyncRequest:
|
||||
svc 0x32
|
||||
bx lr
|
||||
|
||||
.global svcOpenProcess
|
||||
.type svcOpenProcess, %function
|
||||
svcOpenProcess:
|
||||
push {r0}
|
||||
svc 0x33
|
||||
pop {r2}
|
||||
str r1, [r2]
|
||||
bx lr
|
||||
|
||||
.global svcGetProcessId
|
||||
.type svcGetProcessId, %function
|
||||
svcGetProcessId:
|
||||
@ -288,3 +297,67 @@ svcGetThreadId:
|
||||
ldr r3, [sp], #4
|
||||
str r1, [r3]
|
||||
bx lr
|
||||
|
||||
.global svcCreatePort
|
||||
.type svcCreatePort, %function
|
||||
svcCreatePort:
|
||||
push {r0, r1}
|
||||
svc 0x47
|
||||
ldr r3, [sp, #0]
|
||||
str r1, [r3]
|
||||
ldr r3, [sp, #4]
|
||||
str r2, [r3]
|
||||
add sp, sp, #8
|
||||
bx lr
|
||||
|
||||
.global svcDebugActiveProcess
|
||||
.type svcDebugActiveProcess, %function
|
||||
svcDebugActiveProcess:
|
||||
push {r0}
|
||||
svc 0x60
|
||||
pop {r2}
|
||||
str r1, [r2]
|
||||
bx lr
|
||||
|
||||
.global svcGetProcessList
|
||||
.type svcGetProcessList, %function
|
||||
svcGetProcessList:
|
||||
push {r0, r1}
|
||||
svc 0x65
|
||||
ldr r3, [sp, #0]
|
||||
str r1, [r3]
|
||||
ldr r3, [sp, #4]
|
||||
str r2, [r3]
|
||||
add sp, sp, #8
|
||||
bx lr
|
||||
|
||||
.global svcReadProcessMemory
|
||||
.type svcReadProcessMemory, %function
|
||||
svcReadProcessMemory:
|
||||
svc 0x6A
|
||||
bx lr
|
||||
|
||||
.global svcMapProcessMemory
|
||||
.type svcMapProcessMemory, %function
|
||||
svcMapProcessMemory:
|
||||
svc 0x71
|
||||
bx lr
|
||||
|
||||
.global svcUnmapProcessMemory
|
||||
.type svcUnmapProcessMemory, %function
|
||||
svcUnmapProcessMemory:
|
||||
svc 0x72
|
||||
bx lr
|
||||
|
||||
.global svcQueryProcessMemory
|
||||
.type svcQueryProcessMemory, %function
|
||||
svcQueryProcessMemory:
|
||||
push {r0, r1, r4-r6}
|
||||
svc 0x7D
|
||||
ldr r6, [sp]
|
||||
stm r6, {r1-r4}
|
||||
ldr r6, [sp, #4]
|
||||
str r5, [r6]
|
||||
add sp, sp, #8
|
||||
pop {r4-r6}
|
||||
bx lr
|
||||
|
Loading…
Reference in New Issue
Block a user