Implement svc 0x04, 0x06, 0x53
This commit is contained in:
parent
636dfb2f1d
commit
064f9fdf9e
@ -511,7 +511,15 @@ Result svcQueryProcessMemory(MemInfo* info, PageInfo* out, Handle process, u32 a
|
|||||||
Result svcInvalidateProcessDataCache(Handle process, void* addr, u32 size);
|
Result svcInvalidateProcessDataCache(Handle process, void* addr, u32 size);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Flushes a process's data cache.
|
* @brief Cleans a process's data cache.
|
||||||
|
* @param process Handle of the process.
|
||||||
|
* @param addr Address to clean.
|
||||||
|
* @param size Size of the memory to clean.
|
||||||
|
*/
|
||||||
|
Result svcStoreProcessDataCache(Handle process, void* addr, u32 size);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Flushes (cleans and invalidates) a process's data cache.
|
||||||
* @param process Handle of the process.
|
* @param process Handle of the process.
|
||||||
* @param addr Address to flush.
|
* @param addr Address to flush.
|
||||||
* @param size Size of the memory to flush.
|
* @param size Size of the memory to flush.
|
||||||
@ -605,6 +613,14 @@ Result svcCreateCodeSet(Handle* out, const CodeSetInfo *info, void* code_ptr, vo
|
|||||||
*/
|
*/
|
||||||
Result svcCreateProcess(Handle* out, Handle codeset, const u32 *arm11kernelcaps, u32 arm11kernelcaps_num);
|
Result svcCreateProcess(Handle* out, Handle codeset, const u32 *arm11kernelcaps, u32 arm11kernelcaps_num);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Gets a process's affinity mask.
|
||||||
|
* @param[out] affinitymask Pointer to store the affinity masks.
|
||||||
|
* @param process Handle of the process.
|
||||||
|
* @param processorcount Number of processors.
|
||||||
|
*/
|
||||||
|
Result svcGetProcessAffinityMask(u8* affinitymask, Handle process, s32 processorcount);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Sets a process's affinity mask.
|
* @brief Sets a process's affinity mask.
|
||||||
* @param process Handle of the process.
|
* @param process Handle of the process.
|
||||||
@ -613,10 +629,17 @@ Result svcCreateProcess(Handle* out, Handle codeset, const u32 *arm11kernelcaps,
|
|||||||
*/
|
*/
|
||||||
Result svcSetProcessAffinityMask(Handle process, const u8* affinitymask, s32 processorcount);
|
Result svcSetProcessAffinityMask(Handle process, const u8* affinitymask, s32 processorcount);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets a process's ideal processor.
|
||||||
|
* @param[out] processorid Pointer to store the ID of the process's ideal processor.
|
||||||
|
* @param process Handle of the process.
|
||||||
|
*/
|
||||||
|
Result svcGetProcessIdealProcessor(s32 *processorid, Handle process);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets a process's ideal processor.
|
* Sets a process's ideal processor.
|
||||||
* @param process Handle of the process.
|
* @param process Handle of the process.
|
||||||
* @param processorid ID of the thread's ideal processor.
|
* @param processorid ID of the process's ideal processor.
|
||||||
*/
|
*/
|
||||||
Result svcSetProcessIdealProcessor(Handle process, s32 processorid);
|
Result svcSetProcessIdealProcessor(Handle process, s32 processorid);
|
||||||
|
|
||||||
|
@ -37,10 +37,21 @@ SVC_BEGIN svcExitProcess
|
|||||||
svc 0x03
|
svc 0x03
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
|
SVC_BEGIN svcGetProcessAffinityMask
|
||||||
|
svc 0x04
|
||||||
|
bx lr
|
||||||
|
|
||||||
SVC_BEGIN svcSetProcessAffinityMask
|
SVC_BEGIN svcSetProcessAffinityMask
|
||||||
svc 0x05
|
svc 0x05
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
|
SVC_BEGIN svcGetProcessIdealProcessor
|
||||||
|
str r0, [sp, #-0x4]!
|
||||||
|
svc 0x06
|
||||||
|
ldr r3, [sp], #4
|
||||||
|
str r1, [r3]
|
||||||
|
bx lr
|
||||||
|
|
||||||
SVC_BEGIN svcSetProcessIdealProcessor
|
SVC_BEGIN svcSetProcessIdealProcessor
|
||||||
svc 0x07
|
svc 0x07
|
||||||
bx lr
|
bx lr
|
||||||
@ -372,6 +383,10 @@ SVC_BEGIN svcInvalidateProcessDataCache
|
|||||||
svc 0x52
|
svc 0x52
|
||||||
bx lr
|
bx lr
|
||||||
|
|
||||||
|
SVC_BEGIN svcStoreProcessDataCache
|
||||||
|
svc 0x53
|
||||||
|
bx lr
|
||||||
|
|
||||||
SVC_BEGIN svcFlushProcessDataCache
|
SVC_BEGIN svcFlushProcessDataCache
|
||||||
svc 0x54
|
svc 0x54
|
||||||
bx lr
|
bx lr
|
||||||
|
Loading…
Reference in New Issue
Block a user