PSVita supports multi-threading in the non-secure kernel but not the secure kernel. There is no user/POSIX threads; all threads are implemented as kernel threads and processes are the functionally the same as threads. Threads can be specified to run on a specific core with the CPU affinity mask option when creating the thread and by default, threads can run on any core. The kernel process can also run on any core. Additionally, the secure kernel can also run on any core.
Module
This module exists only in non-secure world. The SELF can be found in os0:kd/threadmgr.skprx
.
Known NIDs
Version |
Name |
World |
Privilege |
NID
|
1.69 |
SceKernelThreadMgr |
Non-secure |
Kernel |
0xA09CFA5C
|
3.57 |
SceKernelThreadMgr |
Non-secure |
Kernel |
0x21530BE9
|
3.60 |
SceKernelThreadMgr |
Non-secure |
Kernel |
0xF46ED7B2
|
3.65 |
SceKernelThreadMgr |
Non-secure |
Kernel |
0x23A1B482
|
Libraries
This module is accessible by usermode.
Known NIDs
Possible function names according to SceTestBridge
sceTestBridgeThreadMgrCallCoredumpHandler -> ??
sceTestBridgeThreadMgrClearThreadMgrTestMode -> ??
sceTestBridgeThreadMgrDeleteStopThreadEvf -> ??
sceTestBridgeThreadMgrExitDeleteThreadInSyscall -> sceKernelExitDeleteThread
sceTestBridgeThreadMgrFastMutexLockUnlock -> ??
sceTestBridgeThreadMgrFastMutexShowStat -> ??
sceTestBridgeThreadMgrFastMutexStart -> ??
sceTestBridgeThreadMgrFastMutexStop -> ??
sceTestBridgeThreadMgrGetLwMutexInfoAll -> looks like _sceKernelGetLwMutexInfoById
sceTestBridgeThreadMgrIsCoredumpHandlerRegistered
sceTestBridgeThreadMgrRegisterCoredumpHandler -> sceCoredumpRegisterCoredumpHandler
sceTestBridgeThreadMgrResumeThread -> sceKernelResumeThreadForVM
sceTestBridgeThreadMgrRunningInSyscall -> ??
sceTestBridgeThreadMgrSetAndDeleteSuspendThreadEvf -> ??
sceTestBridgeThreadMgrSetThreadMgrTestMode -> ??
sceTestBridgeThreadMgrSpawnPriorityThread -> ??
sceTestBridgeThreadMgrStopThread -> ??
sceTestBridgeThreadMgrSuspendThread -> sceKernelSuspendThreadForVM
sceTestBridgeThreadMgrUnregisterCoredumpHandler -> sceCoredumpUnregisterCoredumpHandler
sceTestBridgeThreadMgrWaitInSyscall -> ??
sceTestBridgeThreadMgrWaitInSyscall2 -> ??
sceTestbridgeApi -> ??
SceThreadmgrForDriver
sceKernelDebugResumeThreadForDriver
Version |
NID
|
0.990-3.60 |
0xA0B1AB21
|
sceKernelCreateRemoteThreadForDriver
Version |
NID
|
0.990-3.60 |
0xC8E57BB4
|
sceKernelGetThreadIdListForDriver
Version |
NID
|
3.60 |
0xEA7B8AEF
|
This function is used to query and obtain the number of thread within a process.
/**
* @brief Retreive a list of all threads belonging to a process.
* @param[in] pid The process to query.
* @param[out] ids The list of thread ids. Can be NULL if output is not required.
* @param[in] n The max number of thread ids to copy out.
* @param[out] copy_count The number of thread ids copied.
* @return The number of threads within the process, else < 0 on error.
*/
int sceKernelGetThreadIdListForDriver(SceUID pid, SceUID *ids, int n, int *copy_count);
sceKernelGetThreadCpuRegistersForDriver
Version |
NID
|
3.60 |
0x5022689D
|
This function is used to get the state of the registers for a SUSPENDED thread. It returns the registers in a two part structure. It's uncertian what the difference is between the two parts. It seems like its a user/kernel separation, but it's uncertain. It could also be a current/exception difference, but it is unconvincing. In normal usage on a suspended thread it seems to be the user aspect that contains valid values. When you query a suspended thread that has no had the opportunity to start yet, the kernel side is filled.
/** Structure representing all ARM registers */
typedef struct ArmCpuRegisters
{
uint32_t r0;
uint32_t r1;
uint32_t r2;
uint32_t r3;
uint32_t r4;
uint32_t r5;
uint32_t r6;
uint32_t r7;
uint32_t r8;
uint32_t r9;
uint32_t r10;
uint32_t r11;
uint32_t r12;
uint32_t sp;
uint32_t lr;
uint32_t pc;
uint32_t cpsr;
uint32_t unk;
} ArmCpuRegisters;
/** Structure containing a threads register states. */
typedef struct ThreadCpuRegisters
{
/** Set of registers used for user mode. */
ArmCpuRegisters user;
/** Set of registers used for kernel mode. */
ArmCpuRegisters kernel;
} ThreadCpuRegisters;
/**
* @brief Query the state of the registers for a suspended thread.
*
* The registers returned are the user/kernel set for the requested thread.
* It's not certain that user/kernel is correct representation, instead it could be current/exception.
* The thread provided must be suspended for this function to succeed.
*
* @param[in] thid The thread to query.
* @param[out] registers The set of registers belonging to the thread.
* @return Zero on success, else < 0 on error.
*/
int sceKernelGetThreadCpuRegistersForDriver(SceUID thid, ThreadCpuRegisters *registers);
sceKernelChangeThreadSuspendStatusForDriver
Version |
NID
|
3.60 |
0x04C6764B
|
This function allows you to change the status of a suspended thread. Most of the valid suspend bits are unknown, but some can be used to prevent the kernel rethrowing exceptions or pull threads into the running/ready state.
/**
* @brief Change the thread suspension status to another value.
*
* More research needs to be done to find out exactly what each status actually means. Some examples of useful scenarios:
* When handling an exception changing the status to 0x1002 (on a newly suspended thread) will stop the kernel rethrowing the same exception.
* When resuming a suspended thread changing the status to 2 will allow it to resume.
*
* @param[in] thid The thread to change.
* @param[in] status The new status for suspension.
* @return Zero on success, else < 0 on error.
*/
int sceKernelChangeThreadSuspendStatusForDriver(SceUID thid, int status);
sceKernelChangeActiveCpuMaskForDriver
Version |
NID
|
1.69 |
0x001173F8
|
3.60 |
0x001173F8
|
sceKernelGetThreadCurrentPriorityForDriver
Version |
NID
|
1.69 |
0x01414F0B
|
3.60 |
0x01414F0B
|
sceKernelCreateCallbackForDriver
Version |
NID
|
1.69 |
0x1C41614C
|
3.60 |
0x1C41614C
|
sceKernelWaitThreadEndCB_089ForDriver
Version |
NID
|
1.69 |
0x0373C5E3
|
3.60 |
0x0373C5E3
|
sceKernelDeleteCallbackForDriver
Version |
NID
|
1.69 |
0x3A7E17F6
|
3.60 |
0x3A7E17F6
|
sceKernelExitThreadForDriver
Version |
NID
|
1.69 |
0x0C8A38E1
|
3.60 |
0x0C8A38E1
|
sceKernelLockMutex_089ForDriver
Version |
NID
|
1.69 |
0x16AC80C5
|
3.60 |
0x16AC80C5
|
int sceKernelLockMutex_089ForDriver(SceUID mutex_id, int unk1, int unk2);
sceKernelExitDeleteThreadForDriver
Version |
NID
|
1.69 |
0x1D17DECF
|
3.60 |
0x1D17DECF
|
sceKernelUnlockMutex_089ForDriver
Version |
NID
|
1.69 |
0x1E82E5D0
|
3.60 |
0x1E82E5D0
|
int sceKernelUnlockMutex_089ForDriver(SceUID mutex_id, int unk1);
sceKernelStartThread_089ForDriver
Version |
NID
|
1.69 |
0x21F5419B
|
3.60 |
0x21F5419B
|
sceKernelTryLockMutex_089ForDriver
Version |
NID
|
1.69 |
0x270993A6
|
3.60 |
0x270993A6
|
sceKernelGetSystemTimeLowForDriver
Version |
NID
|
1.69 |
0x47F6DE49
|
3.60 |
0x47F6DE49
|
sceKernelDelayThreadForDriver
Version |
NID
|
1.69 |
0x4B675D05
|
3.60 |
0x4B675D05
|
sceKernelGetMutexInfo_089ForDriver
Version |
NID
|
1.69-3.60 |
0x69B78A12
|
int sceKernelGetMutexInfo_089ForDriver(SceUID mutexid, SceKernelMutexInfo *info);
sceKernelCancelMutex_089ForDriver
Version |
NID
|
1.69 |
0x7204B846
|
3.60 |
0x7204B846
|
sceKernelChangeCurrentThreadAttrForDriver
Version |
NID
|
1.69 |
0x751C9B7A
|
3.60 |
0x751C9B7A
|
sceKernelDelayThreadCBForDriver
Version |
NID
|
1.69 |
0x9C0180E1
|
3.60 |
0x9C0180E1
|
sceKernelLockMutexCB_089ForDriver
Version |
NID
|
1.69 |
0xD06F2886
|
3.60 |
0xD06F2886
|
sceKernelCheckWaitableStatusForDriver
Version |
NID
|
1.69 |
0xD9BD74EB
|
3.60 |
0xD9BD74EB
|
sceKernelCheckCallbackForDriver
Version |
NID
|
1.69 |
0xE53E41F6
|
3.60 |
0xE53E41F6
|
sceKernelWaitThreadEnd_089ForDriver
Version |
NID
|
1.69 |
0xF3489EF4
|
3.60 |
0xF3489EF4
|
sceKernelGetSystemTimeWideForDriver
Version |
NID
|
1.69-3.60 |
0xF4EE4FA9
|
sceKernelGetThreadInfoForDriver
Version |
NID
|
1.69-3.60 |
0x283807E2
|
int sceKernelGetThreadInfoForDriver(SceUID thid, SceKernelThreadInfo *info)
sceKernelInitializeFastMutexForDriver
Version |
NID
|
1.69 |
0xAF8E1266
|
3.60 |
0xAF8E1266
|
int sceKernelInitializeFastMutexForDriver(void* mutex, const char* name, int unk0, int unk1)
sceKernelLockFastMutexForDriver
Version |
NID
|
1.69 |
0x70627F3A
|
3.60 |
0x70627F3A
|
int sceKernelLockFastMutexForDriver(void* mutex)
sceKernelUnlockFastMutexForDriver
Version |
NID
|
1.69 |
0xDB395782
|
3.60 |
0xDB395782
|
int sceKernelUnlockFastMutexForDriver(void* mutex)
sceKernelDeleteFastMutexForDriver
Version |
NID
|
1.69 |
0x11FE84A1
|
3.60 |
0x11FE84A1
|
int sceKernelDeleteFastMutexForDriver(void* mutex)
sceKernelSignalCondToForDriver
Version |
NID
|
1.69 |
0x61533DA9
|
3.60 |
0x61533DA9
|
int sceKernelSignalCondToForDriver(SceUID condId, SceUID threadId)
sceKernelCreateCondForDriver
Version |
NID
|
1.69 |
0xDB6CD34A
|
3.60 |
0xDB6CD34A
|
SceUID sceKernelCreateCondForDriver(const char *name, SceUInt attr, SceUID mutexId, const SceKernelCondOptParam *option)
sceKernelWaitCondForDriver
Version |
NID
|
1.69 |
0xCC7E027D
|
3.60 |
0xCC7E027D
|
int sceKernelWaitCondForDriver(SceUID condId, unsigned int *timeout)
sceKernelReceiveMsgPipeVectorForDriver
Version |
NID
|
1.69 |
0xDA1F256B
|
3.60 |
0xDA1F256B
|
sceKernelReceiveMsgPipeVectorCBForDriver
Version |
NID
|
1.69 |
0xDA5C9AC6
|
3.60 |
0xDA5C9AC6
|
sceKernelGetThreadIdForDriver
Version |
NID
|
1.69 |
0x59D06540
|
3.60 |
0x59D06540
|
SceUID sceKernelGetThreadIdForDriver(void);
sceKernelDeleteCondForDriver
Version |
NID
|
1.69 |
0xAEE0D27C
|
3.60 |
0xAEE0D27C
|
int sceKernelDeleteCondForDriver(SceUID cid);
sceKernelCreateSemaForDriver
Version |
NID
|
1.69 |
0x30E93C31
|
3.60 |
0x30E93C31
|
/**
* Creates a new semaphore
*
* @par Example:
* @code
* int semaid;
* semaid = sceKernelCreateSemaForDriver("MySema", 0, 1, 1, 0);
* @endcode
*
* @param name - Specifies the name of the sema
* @param attr - Sema attribute flags (normally set to 0)
* @param initVal - Sema initial value
* @param maxVal - Sema maximum value
* @param option - Sema options (normally set to 0)
* @return A semaphore id
*/
SceUID sceKernelCreateSemaForDriver(const char *name, SceUInt attr, int initVal, int maxVal, SceKernelSemaOptParam *option);
?sceKernelWaitSemaCBForDriver?
Version |
NID
|
1.69 |
0xF55E4D86
|
3.60 |
0xF55E4D86
|
sceKernelWaitSemaCBForDriver
Version |
NID
|
1.69 |
0x3C8B55A9
|
3.60 |
0x3C8B55A9
|
/**
* Lock a semaphore
*
* @par Example:
* @code
* sceKernelWaitSemaCBForDriver(sema_id, 1, 0);
* @endcode
*
* @param sema_id - The sema id returned from ::sceKernelCreateSemaForDriver
* @param signal - The value to wait for (i.e. if 1 then wait till reaches a signal state of 1)
* @param timeout - Timeout in microseconds (assumed).
*
* @return < 0 on error.
*/
int sceKernelWaitSemaCBForDriver(SceUID sema_id, int signal, SceUInt *timeout);
sceKernelSignalCondForDriver
Version |
NID
|
1.69 |
0xAC616150
|
3.60 |
0xAC616150
|
int sceKernelSignalCondForDriver(SceUID condId);
sceKernelChangeThreadCpuAffinityMaskForDriver
Version |
NID
|
1.69 |
0x6D0733A8
|
3.60 |
0x6D0733A8
|
derived from sceKernelChangeThreadCpuAffinityMask
//uid - thread uid
int sceKernelChangeThreadCpuAffinityMaskForDriver(SceUID uid, int mask);
sceKernelSetPermissionForDriver
Version |
NID
|
1.69 |
0x02EEDF17
|
3.60 |
0x02EEDF17
|
// return value is previous value
int sceKernelSetPermissionForDriver(int value);
sceKernelGetProcessIdForDriver
Version |
NID
|
1.69 |
0x9DCB4B7A
|
3.60 |
0x9DCB4B7A
|
Returns the process ID.
SceUID sceKernelGetProcessIdForDriver(void);
sceKernelSetProcessIdToTLSForDriver
Version |
NID
|
1.69 |
0x0486F239
|
3.60 |
0x0486F239
|
Sets given pid into TLS.
// return value is previous value
SceUID sceKernelSetProcessIdToTLSForDriver(SceUID pid);
sceKernelGetProcessIdFromTLSForDriver
Version |
NID
|
1.69 |
0xFA54D49A
|
3.60 |
0xFA54D49A
|
Gets pid from TLS.
// return value is previous value
SceUID sceKernelGetProcessIdFromTLSForDriver();
sceKernelRegisterTimerForDriver
Version |
NID
|
3.60 |
0xC58DF384
|
// seen: unk = 2 so maybe UDCD bus
int sceKernelRegisterTimerForDriver(char *name, void *function, int unk);
SceThreadmgrForKernel
sceKernelGetProcessIdForKernel
Version |
NID
|
1.69 |
0x9DCB4B7A
|
3.60 |
0x9DCB4B7A
|
Returns the process ID.
SceUID sceKernelGetProcessIdForKernel(void);
sceKernelChangeActiveCpuMaskForKernel
Version |
NID
|
1.69-3.60 |
0x001173F8
|
sceKernelGetThreadCurrentPriorityForKernel
Version |
NID
|
1.69-3.60 |
0x01414F0B
|
sceKernelWaitThreadEndCB_089ForKernel
Version |
NID
|
1.69-3.60 |
0x0373C5E3
|
sceKernelExitThreadForKernel
Version |
NID
|
1.69-3.60 |
0x0C8A38E1
|
sceKernelLockMutex_089ForKernel
Version |
NID
|
1.69-3.60 |
0x16AC80C5
|
int sceKernelLockMutex_089ForKernel(SceUID mutex_id, int unk1, int unk2);
sceKernelExitDeleteThreadForKernel
Version |
NID
|
1.69 |
0x1D17DECF
|
sceKernelUnlockMutex_089ForKernel
Version |
NID
|
1.69-3.60 |
0x1E82E5D0
|
int sceKernelUnlockMutex_089ForKernel(SceUID mutex_id, int unk1);
sceKernelStartThread_089ForKernel
Version |
NID
|
1.69 |
0x21F5419B
|
sceKernelTryLockMutex_089ForKernel
Version |
NID
|
1.69 |
0x270993A6
|
sceKernelDelayThreadForKernel
Version |
NID
|
1.69 |
0x4B675D05
|
sceKernelGetMutexInfo_089ForKernel
Version |
NID
|
1.69 |
0x69B78A12
|
sceKernelCancelMutex_089ForKernel
Version |
NID
|
1.69 |
0x7204B846
|
sceKernelChangeCurrentThreadAttrForKernel
Version |
NID
|
1.69 |
0x751C9B7A
|
sceKernelDelayThreadCBForKernel
Version |
NID
|
1.69 |
0x9C0180E1
|
sceKernelLockMutexCB_089ForKernel
Version |
NID
|
1.69 |
0xD06F2886
|
sceKernelCheckWaitableStatusForKernel
Version |
NID
|
1.69 |
0xD9BD74EB
|
sceKernelCheckCallbackForKernel
Version |
NID
|
1.69 |
0xE53E41F6
|
sceKernelWaitThreadEnd_089ForKernel
Version |
NID
|
1.69 |
0xF3489EF4
|
sceKernelCreateMutexForKernel
Version |
NID
|
1.69-3.60 |
0xFBAA026E
|
int sceKernelCreateMutexForKernel(const char *name, SceUInt attr, int initCount, SceKernelMutexOptParam *option);
sceKernelDeleteMutexForKernel
Version |
NID
|
1.69-3.60 |
0x0A912340
|
int sceKernelDeleteMutexForKernel(SceUID mutexid);
Run Exclusively
Version |
NID
|
1.69-3.60 |
0xE54FD746
|
This takes a function and runs it exclusively on the current core on its own stack.
// stack_size should be 0x2000
int run_exclusively(int stack_size, void *func, void *args);
Run Exclusively 2
Version |
NID
|
3.60 |
0xA2C801A5
|
// stack_size should be 0x2000
int run_exclusively_2(int stack_size, void *func, void *args);
sceKernelWaitSemaCBForKernel
Version |
NID
|
3.60 |
0x3c8b55a9
|
sceKernelGetFaultingProcessForKernel
Version |
NID
|
3.60 |
0xD8B9AC8D
|
3.65-3.67 |
0x6C1F092F
|
SceThreadmgrForKernel_E0833C77
Version |
NID
|
3.57 |
not present, added on 3.60
|
3.60 |
0xE0833C77
|
SceThreadmgr
sceKernelChangeActiveCpuMask
Version |
NID
|
1.69 |
0x001173F8
|
sceKernelGetThreadCurrentPriority
Version |
NID
|
1.69 |
0x01414F0B
|
sceKernelWaitThreadEndCB_089
Version |
NID
|
1.69 |
0x0373C5E3
|
sceKernelGetCallbackCount
Version |
NID
|
1.69 |
0x038644D5
|
_sceKernelTryReceiveMsgPipeVector
Version |
NID
|
1.69 |
0x03CFCF00
|
sceKernelCloseMutex
Version |
NID
|
1.69 |
0x03E23AF6
|
_sceKernelGetSemaInfo
Version |
NID
|
1.69 |
0x0402C633
|
_sceKernelWaitCond
Version |
NID
|
1.69 |
0x040795C7
|
_sceKernelWaitMultipleEventsCB
Version |
NID
|
1.69 |
0x0558B7C1
|
_sceKernelGetCondInfo
Version |
NID
|
1.69 |
0x05C51CE1
|
_sceKernelSignalLwCondAll
Version |
NID
|
1.69 |
0x07D2584A
|
sceKernelGetActiveCpuMask
Version |
NID
|
1.69 |
0x0C3CBB8B
|
sceKernelExitThread
Version |
NID
|
1.69 |
0x0C8A38E1
|
_sceKernelCreateSema
Version |
NID
|
1.69 |
0x0D76458E
|
sceKernelOpenMsgPipe
Version |
NID
|
1.69 |
0x0E1CB9F6
|
_sceKernelSignalCondAll
Version |
NID
|
1.69 |
0x0F11545D
|
_sceKernelGetEventFlagInfo
Version |
NID
|
1.69 |
0x106C216F
|
_sceKernelSetEventWithNotifyCallback
Version |
NID
|
1.69 |
0x118F646E
|
sceKernelSignalCondTo
Version |
NID
|
1.69 |
0x1269F4EC
|
_sceKernelUnlockMutex
Version |
NID
|
1.69 |
0x12948A63
|
sceKernelCloseMsgPipe
Version |
NID
|
1.69 |
0x1305A065
|
_sceKernelCancelTimer
Version |
NID
|
1.69 |
0x13117B21
|
sceKernelChangeThreadCpuAffinityMask
Version |
NID
|
1.69 |
0x15129174
|
_sceKernelDeleteThread
Version |
NID
|
1.69 |
0x151E0020
|
sceKernelCloseCond
Version |
NID
|
1.69 |
0x15C690E0
|
sceKernelLockMutex_089
Version |
NID
|
1.69-3.60 |
0x16AC80C5
|
int sceKernelLockMutex_089(SceUID mutex_id, int unk1, int unk2);
_sceKernelDeleteEventFlag
Version |
NID
|
1.69 |
0x16C93704
|
_sceKernelOpenMsgPipe
Version |
NID
|
1.69 |
0x16EC5B7C
|
sceKernelUnregisterCallbackFromEvent
Version |
NID
|
1.69 |
0x18462B11
|
_sceKernelWaitLwCond
Version |
NID
|
1.69 |
0x18C65756
|
_sceKernelCancelCallback
Version |
NID
|
1.69 |
0x19A0C1B6
|
sceKernelUnlockMutex
Version |
NID
|
1.69 |
0x1A372EC8
|
_sceKernelCancelMutex
Version |
NID
|
1.69 |
0x1B74CB89
|
sceKernelDeleteThread
Version |
NID
|
1.69 |
0x1BBDE3D9
|
_sceKernelCancelSema
Version |
NID
|
1.69 |
0x1CAF805D
|
sceKernelExitDeleteThread
Version |
NID
|
1.69 |
0x1D17DECF
|
sceKernelUnlockMutex_089
Version |
NID
|
1.69 |
0x1E82E5D0
|
3.60 |
0x1E82E5D0
|
int sceKernelUnlockMutex_089(SceUID mutex_id, int unk1);
_sceKernelWaitMultipleEvents
Version |
NID
|
1.69 |
0x200CC503
|
sceKernelTryLockWriteRWLock
Version |
NID
|
1.69 |
0x206CBB66
|
sceKernelDeleteSimpleEvent
Version |
NID
|
1.69 |
0x208CFE28
|
_sceKernelPollSema
Version |
NID
|
1.69 |
0x20AF286A
|
_sceKernelGetThreadCpuAffinityMask
Version |
NID
|
1.69 |
0x212E6C35
|
_sceKernelGetTimerEventRemainingTime
Version |
NID
|
1.69 |
0x215FD24D
|
_sceKernelCloseMutex
Version |
NID
|
1.69 |
0x21716C81
|
_sceKernelPollEvent
Version |
NID
|
1.69 |
0x21C7913E
|
sceKernelStartThread_089
Version |
NID
|
1.69 |
0x21F5419B
|
_sceKernelCloseTimer
Version |
NID
|
1.69 |
0x22605E63
|
_sceKernelExitCallback
Version |
NID
|
1.69 |
0x2682E6ED
|
sceKernelTryLockMutex_089
Version |
NID
|
1.69 |
0x270993A6
|
sceKernelSetTimerTimeWide
Version |
NID
|
1.69 |
0x273B4A4D
|
_sceKernelOpenCond
Version |
NID
|
1.69 |
0x27DD11EA
|
_sceKernelGetThreadmgrUIDClass
Version |
NID
|
1.69 |
0x27EE191B
|
sceKernelOpenMutex_089
Version |
NID
|
1.69 |
0x2928D2EC
|
_sceKernelCancelEvent
Version |
NID
|
1.69 |
0x29483405
|
_sceKernelCreateMsgPipeWithLR
Version |
NID
|
1.69 |
0x2AAC8BFD
|
_sceKernelUnlockLwMutex
Version |
NID
|
1.69 |
0x2ABC41DF
|
_sceKernelGetMsgPipeCreatorId
Version |
NID
|
1.69 |
0x2B751F95
|
sceKernelCancelCallback
Version |
NID
|
1.69 |
0x30741EF2
|
sceKernelSetEvent
Version |
NID
|
1.69 |
0x324218CD
|
_sceKernelGetTimerBaseWide
Version |
NID
|
1.69 |
0x370E147B
|
_sceKernelGetThreadContextForVM
Version |
NID
|
1.69 |
0x377094D5
|
_sceKernelCreateEventFlag
Version |
NID
|
1.69 |
0x38AA5E8E
|
_sceKernelSetTimerTimeWide
Version |
NID
|
1.69 |
0x39364623
|
_sceKernelWaitThreadEndCB_0910
Version |
NID
|
1.69 |
0x394BCCF2
|
_sceKernelSignalCondTo
Version |
NID
|
1.69 |
0x3C00071F
|
_sceKernelReceiveMsgPipeVector
Version |
NID
|
1.69 |
0x3DD9E4AB
|
_sceKernelPulseEventWithNotifyCallback
Version |
NID
|
1.69 |
0x3E49D3F1
|
sceKernelUnlockReadRWLock
Version |
NID
|
1.69 |
0x3EF91145
|
sceKernelGetTimerTimeWide
Version |
NID
|
1.69 |
0x3EFD3165
|
_sceKernelCreateCallback
Version |
NID
|
1.69 |
0x3F42E175
|
_sceKernelWaitEventFlagCB
Version |
NID
|
1.69 |
0x401E0C68
|
_sceKernelSetEventFlag
Version |
NID
|
1.69 |
0x438917E4
|
_sceKernelWaitCondCB
Version |
NID
|
1.69 |
0x452B0AB3
|
_sceKernelWaitSema
Version |
NID
|
1.69 |
0x45389B6B
|
sceKernelGetSystemTimeLow
Version |
NID
|
1.69 |
0x47F6DE49
|
sceKernelStartTimer
Version |
NID
|
1.69 |
0x48091E0C
|
sceKernelDelayThread
Version |
NID
|
1.69 |
0x4B675D05
|
_sceKernelClearEvent
Version |
NID
|
1.69 |
0x4B7F47DC
|
__sceKernelCreateLwMutex
Version |
NID
|
1.69-3.60 |
0x4BB3154A
|
typedef struct sceKernelCreateLwMutex_opt //size is 0x10
{
int initCount;
const SceKernelLwMutexOptParam* pOptParam;
uint32_t unk_8;
uint32_t unk_C;
} sceKernelCreateLwMutex_opt;
int __sceKernelCreateLwMutex(SceKernelLwMutexWork *pWork, const char *pName, unsigned int attr, sceKernelCreateLwMutex_opt* opt);
sceKernelClearEventFlag
Version |
NID
|
1.69 |
0x4CB87CA7
|
_sceKernelReceiveMsgPipeVectorCB
Version |
NID
|
1.69 |
0x4DBF648E
|
_sceKernelNotifyCallback
Version |
NID
|
1.69 |
0x4DF8B624
|
_sceKernelWaitEvent
Version |
NID
|
1.69 |
0x4E0EA70D
|
sceKernelOpenSimpleEvent
Version |
NID
|
1.69 |
0x4E1E4DF8
|
sceKernelGetThreadStackFreeSize
Version |
NID
|
1.69 |
0x4F8A3DA0
|
_sceKernelWaitSignal
Version |
NID
|
1.69 |
0x50407BF4
|
_sceKernelTryLockWriteRWLock
Version |
NID
|
1.69 |
0x52DD3322
|
sceKernelOpenMutex
Version |
NID
|
1.69 |
0x52E17182
|
sceKernelDeleteEventFlag
Version |
NID
|
1.69 |
0x5840162C
|
_sceKernelUnregisterCallbackFromEventAll
Version |
NID
|
1.69 |
0x5B5650C7
|
_sceKernelUnlockWriteRWLock
Version |
NID
|
1.69 |
0x5B746A69
|
_sceKernelGetCallbackCount
Version |
NID
|
1.69 |
0x5D06FF09
|
_sceKernelLockReadRWLockCB
Version |
NID
|
1.69 |
0x5D86D763
|
sceKernelGetTimerBaseWide
Version |
NID
|
1.69 |
0x5DBC1960
|
_sceKernelSendMsgPipeVector
Version |
NID
|
1.69 |
0x5E65E454
|
_sceKernelWaitExceptionCB
Version |
NID
|
1.69 |
0x5E7876F2
|
sceKernelResumeThreadForVM
Version |
NID
|
1.69 |
0x5E93840E
|
_sceKernelCloseCond
Version |
NID
|
1.69 |
0x650CE348
|
_sceKernelPMonCpuGetCounter
Version |
NID
|
1.69 |
0x667A4649
|
_sceKernelGetActiveCpuMask
Version |
NID
|
1.69 |
0x67FDA21B
|
_sceKernelDeleteCallback
Version |
NID
|
1.69 |
0x68D0FA79
|
sceKernelGetMutexInfo_089
Version |
NID
|
1.69 |
0x69B78A12
|
_sceKernelPMonThreadGetCounter
Version |
NID
|
1.69 |
0x6B9711AC
|
_sceKernelGetLwCondInfo
Version |
NID
|
1.69 |
0x6C79F2F2
|
sceKernelSignalCond
Version |
NID
|
1.69 |
0x6ED2E2DC
|
3.60 |
0x6ED2E2DC
|
_sceKernelSignalLwCondTo
Version |
NID
|
1.69 |
0x6F1A4A2E
|
_sceKernelGetTimerTime
Version |
NID
|
1.69 |
0x6F2C41BA
|
_sceKernelWaitException
Version |
NID
|
1.69 |
0x6F7C4DE6
|
_sceKernelGetEventPattern
Version |
NID
|
1.69 |
0x70358258
|
sceKernelGetMsgPipeCreatorId
Version |
NID
|
1.69 |
0x70E2A6D2
|
_sceKernelSuspendThreadForVM
Version |
NID
|
1.69 |
0x7192B01C
|
sceKernelCancelMutex_089
Version |
NID
|
1.69 |
0x7204B846
|
_sceKernelWaitLwCondCB
Version |
NID
|
1.69 |
0x72DBB96B
|
sceKernelTryLockMutex
Version |
NID
|
1.69 |
0x72FC1F54
|
sceKernelChangeCurrentThreadAttr
Version |
NID
|
1.69 |
0x751C9B7A
|
_sceKernelDeleteLwCond
Version |
NID
|
1.69 |
0x75FCF058
|
sceKernelOpenCond
Version |
NID
|
1.69 |
0x76BDA02F
|
sceKernelRegisterCallbackToEvent
Version |
NID
|
1.69 |
0x76FB37E9
|
_sceKernelSignalCond
Version |
NID
|
1.69 |
0x79889DAC
|
_sceKernelCreateTimer
Version |
NID
|
1.69 |
0x79BA0A6D
|
_sceKernelGetMsgPipeInfo
Version |
NID
|
1.69 |
0x7AE31060
|
sceKernelClearEvent
Version |
NID
|
1.69 |
0x7B2A4B28
|
_sceKernelUnlockReadRWLock
Version |
NID
|
1.69 |
0x7D16FB3B
|
_sceKernelWaitEventCB
Version |
NID
|
1.69 |
0x7D483C33
|
_sceKernelLockReadRWLock
Version |
NID
|
1.69 |
0x7EB9E8B5
|
_sceKernelLockMutex
Version |
NID
|
1.69 |
0x7FA945AD
|
_sceKernelGetThreadExitStatus_0940
Version |
NID
|
1.69 |
0x800BB137
|
_sceKernelLockWriteRWLock
Version |
NID
|
1.69 |
0x80191FAA
|
_sceKernelGetSystemInfo
Version |
NID
|
1.69 |
0x80544E0C
|
_sceKernelDeleteSema
Version |
NID
|
1.69 |
0x855F49D5
|
_sceKernelOpenTimer
Version |
NID
|
1.69 |
0x8564E008
|
_sceKernelGetTimerBase
Version |
NID
|
1.69 |
0x865DA482
|
sceKernelPollSema
Version |
NID
|
1.69 |
0x866EF048
|
_sceKernelGetCallbackInfo
Version |
NID
|
1.69 |
0x86761234
|
sceKernelStopTimer
Version |
NID
|
1.69 |
0x869E9F20
|
sceKernelDeleteCond
Version |
NID
|
1.69 |
0x879E6EBD
|
sceKernelUnregisterCallbackFromEventAll
Version |
NID
|
1.69 |
0x888A7361
|
_sceKernelGetRWLockInfo
Version |
NID
|
1.69 |
0x8CE3AFC7
|
sceKernelPulseEvent
Version |
NID
|
1.69 |
0x8D27BAD6
|
_sceKernelCancelEventWithSetPattern
Version |
NID
|
1.69 |
0x8E68E870
|
_sceKernelSignalSema
Version |
NID
|
1.69 |
0x8E9A0400
|
_sceKernelDeleteLwMutex
Version |
NID
|
1.69 |
0x91262C5F
|
_sceKernelDeleteTimer
Version |
NID
|
1.69 |
0x921A043D
|
_sceKernelCreateMutex
Version |
NID
|
1.69 |
0x92667AE5
|
_sceKernelCreateLwCond
Version |
NID
|
1.69 |
0x940B9EBE
|
sceKernelCloseEventFlag
Version |
NID
|
1.69 |
0x9A68F547
|
_sceKernelSetEvent
Version |
NID
|
1.69 |
0x9A92C33F
|
_sceKernelDeleteRWLock
Version |
NID
|
1.69 |
0x9AA387DF
|
_sceKernelGetTimerTimeWide
Version |
NID
|
1.69 |
0x9AC39954
|
_sceKernelRegisterCallbackToEvent
Version |
NID
|
1.69 |
0x9B1922F2
|
sceKernelDelayThreadCB
Version |
NID
|
1.69 |
0x9C0180E1
|
_sceKernelCreateSimpleEvent
Version |
NID
|
1.69 |
0x9C187FAD
|
_sceKernelLockLwMutex
Version |
NID
|
1.69 |
0x9C572180
|
_sceKernelChangeThreadCpuAffinityMask
Version |
NID
|
1.69 |
0x9C921F8D
|
_sceKernelOpenMutex
Version |
NID
|
1.69 |
0x9D291788
|
sceKernelGetProcessId
Version |
NID
|
1.69 |
0x9DCB4B7A
|
sceKernelCloseSema
Version |
NID
|
1.69 |
0xA2D81F9E
|
sceKernelCloseMutex_089
Version |
NID
|
1.69 |
0xA35427EE
|
sceKernelNotifyCallback
Version |
NID
|
1.69 |
0xA4683592
|
_sceKernelCloseMsgPipe
Version |
NID
|
1.69 |
0xAA888831
|
sceKernelDeleteTimer
Version |
NID
|
1.69 |
0xAB1E42C4
|
_sceKernelGetTimerInfo
Version |
NID
|
1.69 |
0xAC7FE4F3
|
sceKernelCloseTimer
Version |
NID
|
1.69 |
0xACE60E4A
|
_sceKernelCreateRWLock
Version |
NID
|
1.69 |
0xB1877F5E
|
sceKernelCreateCallback
Version |
NID
|
1.69 |
0xB19CF7E9
|
_sceKernelGetThreadInfo
Version |
NID
|
1.69 |
0xB373D8A1
|
3.60 |
0xB373D8A1
|
typedef struct get_thread_info_opt
{
uint32_t size; // size of SceKernelThreadInfo
uint32_t unk;
}get_thread_info_opt;
int _sceKernelGetThreadInfo(SceUID thid, SceKernelThreadInfo *info, get_thread_info_opt* opt)
_sceKernelTrySendMsgPipeVector
Version |
NID
|
1.69 |
0xB3D600AB
|
sceKernelUnlockWriteRWLock
Version |
NID
|
1.69 |
0xB4151397
|
_sceKernelGetThreadStackFreeSize
Version |
NID
|
1.69 |
0xB5EC061A
|
_sceKernelDeleteMsgPipe
Version |
NID
|
1.69 |
0xB6D50FCC
|
sceKernelOpenTimer
Version |
NID
|
1.69 |
0xB6E286E7
|
_sceKernelGetSystemTime
Version |
NID
|
1.69 |
0xB70EBAE9
|
_sceKernelChangeThreadVfpException
Version |
NID
|
1.69 |
0xB8F165B4
|
_sceKernelOpenSema
Version |
NID
|
1.69 |
0xB96FED7D
|
_sceKernelGetThreadTLSAddr
Version |
NID
|
1.69 |
0xBACA6891
|
sceKernelOpenEventFlag
Version |
NID
|
1.69 |
0xBC19F8A1
|
_sceKernelTryLockMutex
Version |
NID
|
1.69 |
0xBCFB867F
|
sceKernelChangeThreadPriority
Version |
NID
|
1.69 |
0xBD0139F2
|
sceKernelCreateThreadForUser
Version |
NID
|
1.69 |
0xC0FAF6A3
|
_sceKernelSendSignal
Version |
NID
|
1.69 |
0xC21FC992
|
_sceKernelCloseRWLock
Version |
NID
|
1.69 |
0xC239DBCC
|
sceKernelSignalCondAll
Version |
NID
|
1.69 |
0xC2E7AC22
|
_sceKernelStartThread
Version |
NID
|
1.69 |
0xC30B1745
|
_sceKernelSignalLwCond
Version |
NID
|
1.69 |
0xC37F6983
|
_sceKernelStartTimer
Version |
NID
|
1.69 |
0xC3ED6E4A
|
_sceKernelCloseSimpleEvent
Version |
NID
|
1.69 |
0xC6FFE335
|
_sceKernelGetThreadRunStatus
Version |
NID
|
1.69 |
0xC7FB5497
|
sceKernelGetThreadmgrUIDClass
Version |
NID
|
1.69 |
0xC9678F7F
|
_sceKernelStopTimer
Version |
NID
|
1.69 |
0xC96F4269
|
sceKernelDeleteMutex
Version |
NID
|
1.69 |
0xCB78710D
|
sceKernelOpenSema
Version |
NID
|
1.69 |
0xCBE235C7
|
_sceKernelCreateCond
Version |
NID
|
1.69 |
0xCC14FA59
|
sceKernelChangeThreadVfpException
Version |
NID
|
1.69 |
0xCC18FBAE
|
sceKernelOpenRWLock
Version |
NID
|
1.69 |
0xCE510196
|
_sceKernelCancelMsgPipe
Version |
NID
|
1.69 |
0xCE769C83
|
_sceKernelWaitSignalCB
Version |
NID
|
1.69 |
0xCEA3FC52
|
_sceKernelCancelRWLock
Version |
NID
|
1.69 |
0xD004EA15
|
sceKernelLockMutexCB_089
Version |
NID
|
1.69 |
0xD06F2886
|
_sceKernelGetThreadExitStatus
Version |
NID
|
1.69 |
0xD3210C08
|
_sceKernelWaitThreadEnd_0910
Version |
NID
|
1.69 |
0xD38231C9
|
sceKernelDeleteCallback
Version |
NID
|
1.69 |
0xD469676B
|
_sceKernelSetThreadContextForVM
Version |
NID
|
1.69 |
0xD4785C41
|
sceKernelSendSignal
Version |
NID
|
1.69 |
0xD4C367B2
|
_sceKernelDeleteCond
Version |
NID
|
1.69 |
0xD99F51D3
|
sceKernelCheckWaitableStatus
Version |
NID
|
1.69 |
0xD9BD74EB
|
_sceKernelGetLwCondInfoById
Version |
NID
|
1.69 |
0xD9E78D30
|
_sceKernelPollEventFlag
Version |
NID
|
1.69 |
0xDAB1B1C8
|
sceKernelDeleteSema
Version |
NID
|
1.69 |
0xDB32948A
|
_sceKernelLockMutexCB
Version |
NID
|
1.69 |
0xDB9F5333
|
_sceKernelLockWriteRWLockCB
Version |
NID
|
1.69 |
0xDBD09B09
|
_sceKernelOpenRWLock
Version |
NID
|
1.69 |
0xDFCEE5AB
|
_sceKernelDeleteMutex
Version |
NID
|
1.69 |
0xE0A6D759
|
_sceKernelSetTimerEvent
Version |
NID
|
1.69 |
0xE2C0BFEF
|
_sceKernelOpenSimpleEvent
Version |
NID
|
1.69 |
0xE326EA7A
|
sceKernelCheckCallback
Version |
NID
|
1.69 |
0xE53E41F6
|
_sceKernelChangeThreadPriority
Version |
NID
|
1.69 |
0xE61C2B06
|
sceKernelSignalSema
Version |
NID
|
1.69 |
0xE6B761D1
|
sceKernelDeleteRWLock
Version |
NID
|
1.69 |
0xE73649CA
|
sceKernelDeleteMsgPipe
Version |
NID
|
1.69 |
0xE78BCCF7
|
_sceKernelCloseSema
Version |
NID
|
1.69 |
0xE8C03447
|
_sceKernelGetMutexInfo
Version |
NID
|
1.69-3.60 |
0xE8CC3DF0
|
typedef struct _sceKernelGetMutexInfo_opt
{
int unk_0;
int unk_4;
}_sceKernelGetMutexInfo_opt;
int _sceKernelGetMutexInfo(SceUID mutexid, SceKernelMutexInfo *info, _sceKernelGetMutexInfo_opt* opt);
_sceKernelWaitThreadEnd
Version |
NID
|
1.69 |
0xEA5C52F5
|
_sceKernelTryLockReadRWLock
Version |
NID
|
1.69 |
0xEB9054B2
|
sceKernelSetEventFlag
Version |
NID
|
1.69 |
0xEC94DFF7
|
sceKernelTryLockReadRWLock
Version |
NID
|
1.69 |
0xEFDDA456
|
_sceKernelClearEventFlag
Version |
NID
|
1.69 |
0xF0526CE2
|
sceKernelGetThreadCpuAffinityMask
Version |
NID
|
1.69 |
0xF1AE5654
|
sceKernelWaitThreadEnd_089
Version |
NID
|
1.69 |
0xF3489EF4
|
sceKernelGetSystemTimeWide
Version |
NID
|
1.69 |
0xF4EE4FA9
|
_sceKernelPulseEvent
Version |
NID
|
1.69 |
0xF6A0FE84
|
_sceKernelCloseEventFlag
Version |
NID
|
1.69 |
0xF6CFB4F1
|
_sceKernelSendMsgPipeVectorCB
Version |
NID
|
1.69 |
0xF6D515DC
|
_sceKernelDeleteSimpleEvent
Version |
NID
|
1.69 |
0xF7413EC7
|
_sceKernelCancelEventFlag
Version |
NID
|
1.69 |
0xF76F3056
|
_sceKernelWaitSemaCB
Version |
NID
|
1.69 |
0xF8E06784
|
_sceKernelWaitThreadEndCB
Version |
NID
|
1.69 |
0xFA3D4491
|
_sceKernelOpenEventFlag
Version |
NID
|
1.69 |
0xFA64FB37
|
_sceKernelUnregisterCallbackFromEvent
Version |
NID
|
1.69 |
0xFB66565E
|
_sceKernelWaitEventFlag
Version |
NID
|
1.69 |
0xFCE2F728
|
sceKernelCloseRWLock
Version |
NID
|
1.69 |
0xFD5BD5C1
|
_sceKernelGetLwMutexInfoById
Version |
NID
|
1.69 |
0xFEC9E946
|
sceKernelCloseSimpleEvent
Version |
NID
|
1.69 |
0xFEF4CA53
|
_sceKernelSetTimerTime
Version |
NID
|
1.69 |
0xFF738CD9
|
_sceKernelRegisterThreadEventHandler
Version |
NID
|
3.60 |
0xCE6B49D8
|
struct sceKernelRegisterThreadEventHandlerOpt
{
void *handler;
int num1;
int reserved0;
int reserved1;
};
int _sceKernelRegisterThreadEventHandler(char *name, SceUID uid, uint32_t num0, sceKernelRegisterThreadEventHandlerOpt *opt);
SceThreadmgrCoredumpTime
sceKernelExitThread
Version |
NID
|
3.60 |
0x0C8A38E1
|