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);
|
||||
|
||||
/**
|
||||
* @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 addr Address 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);
|
||||
|
||||
/**
|
||||
* @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.
|
||||
* @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);
|
||||
|
||||
/**
|
||||
* 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.
|
||||
* @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);
|
||||
|
||||
|
@ -37,10 +37,21 @@ SVC_BEGIN svcExitProcess
|
||||
svc 0x03
|
||||
bx lr
|
||||
|
||||
SVC_BEGIN svcGetProcessAffinityMask
|
||||
svc 0x04
|
||||
bx lr
|
||||
|
||||
SVC_BEGIN svcSetProcessAffinityMask
|
||||
svc 0x05
|
||||
bx lr
|
||||
|
||||
SVC_BEGIN svcGetProcessIdealProcessor
|
||||
str r0, [sp, #-0x4]!
|
||||
svc 0x06
|
||||
ldr r3, [sp], #4
|
||||
str r1, [r3]
|
||||
bx lr
|
||||
|
||||
SVC_BEGIN svcSetProcessIdealProcessor
|
||||
svc 0x07
|
||||
bx lr
|
||||
@ -372,6 +383,10 @@ SVC_BEGIN svcInvalidateProcessDataCache
|
||||
svc 0x52
|
||||
bx lr
|
||||
|
||||
SVC_BEGIN svcStoreProcessDataCache
|
||||
svc 0x53
|
||||
bx lr
|
||||
|
||||
SVC_BEGIN svcFlushProcessDataCache
|
||||
svc 0x54
|
||||
bx lr
|
||||
|
Loading…
Reference in New Issue
Block a user