SceLibKernel

SceLibKernel, not to be confused with Kernel is a user module that implements wrappers to some common syscalls (for example, SceIofilemgr), some usermode standard library functions (including C standard library), and other common features like heap management. This module is the functionality similar to libc.so.6 on Linux.

Module
This is a usermode module and exists only in usermode. The SELF can be found in.

SceLibKernel_10A4976F
Official name is near of "CondVar::Signal".

SceLibKernel_FD295414
Official name is near of "CondVar::Delete".

sceIoChstatAsync
derived from

sceIoClose
derived from

sceIoDevctlAsync
derived from

sceIoGetstatAsync
derived from

sceIoIoctlAsync
derived from

sceIoLseekAsync
derived from

sceIoMkdirAsync
derived from

sceIoOpenAsync
derived from

sceIoPreadAsync
derived from

sceIoPwriteAsync
derived from

sceIoRead
derived from

sceIoRemoveAsync
derived from

sceIoRenameAsync
derived from

sceIoRmdirAsync
derived from

sceIoSyncAsync
derived from

sceIoWrite
derived from

sceIoCompleteMultiple
derived from

sceKernelPrintBacktrace
This is maybe a guessed name.

Wrapper to sceKernelPrintBacktraceForProcess.

sceKernelPrintBacktraceForProcess
This is a guessed name.

sceKernelBacktrace
Wrapper to SceKernelModulemgr#_sceKernelBacktrace.

sceSblGcAuthMgrAdhocBB160UniCastDecrypt
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160UniCastDecrypt.

sceKernelPuts
Dummy function in FW 3.60.

sceKernelGetLibraryVariableAddress
Temp name was sceKernelGetModuleVariableByNID.

Gets variable address by NID.

Calls SceKernelModulemgr#_sceKernelGetLibraryInfoByNID.

Usage:

sceKernelLinkFunctionTable
Temp name was sceKernelGetModuleFunctionsByNID.

Sets functions table for a module.

Calls SceKernelModulemgr#_sceKernelGetLibraryInfoByNID.

Usage:

sceKernelUnlinkFunctionTable
Temp name was sceClibBzeroWords.

This function only does.

Usage:

sceSblGcAuthMgrAdhocBB224Auth3
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth3.

sceSblGcAuthMgrPkgVry
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrPkgVry.

sceSblGcAuthMgrMsSaveBBMacInit
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrMsSaveBBMacInit.

sceSblGcAuthMgrAdhocBB160Auth2
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth2.

sceSblGcAuthMgrAdhocBB224Auth1
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth1.

sceSblGcAuthMgrMsSaveBBCipherInit
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrMsSaveBBCipherInit.

SceLibKernel_35D20E49
It does not seem to call any imported function.

SceLibKernel_37F4ED04
It does not seem to call any imported function.

SceLibKernel_91FA6614
Temp name was sceKernelUnlockLwMutex.

It does not seem to call any imported function.

SceLibKernel_120AFC8C
Temp name was sceKernelUnlockLwMutex2.

It does not seem to call any imported function.

sceSblGcAuthMgrAdhocBB160Auth5
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth5.

sceKernelUnlockLwMutex
Wrapper to SceKernelThreadMgr#_sceKernelUnlockLwMutex.

sceSblGcAuthMgrAdhocBB224Auth5
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth5.

sceSblGcAuthMgrMsSaveBBCipherUpdate
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrMsSaveBBCipherUpdate.

sceSblGcAuthMgrPsmactCreateC1
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrPsmactCreateC1.

sceSblGcAuthMgrAdhocBB160Auth4
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth4.

sceSblGcAuthMgrAdhocBB224Auth4
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth4.

SceLibKernel_6C7365C4
It does not seem to call any imported function.

Related to.

sceKernelRegisterThreadEventHandler
Wrapper to SceKernelThreadMgr#_sceKernelRegisterThreadEventHandler.

sceKernelTryLockLwMutex_old
This is a guessed name. Temp name was sceKernelTryLockLwMutex.

PSP-like "sceKernelTryLockLwMutex".

sceKernelTryLockLwMutexCB
This is a guessed name.

It calls PSP-like, and on failure SceKernelThreadMgr with flag 1 (CB).

sceKernelTryLockLwMutex
This is a guessed name.

It calls PSP-like, and on failure SceKernelThreadMgr with flag 0 (non-CB).

sceSblGcAuthMgrMsSaveBBMacFinal
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrMsSaveBBMacFinal.

sceSblGcAuthMgrAdhocBB160GetKeys
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160GetKeys.

sceSblGcAuthMgrAdhocBB160BroadCastEncrypt
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160BroadCastEncrypt.

sceSblGcAuthMgrSclkGetData1
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrSclkGetData1.

sceSblGcAuthMgrPcactGetChallenge
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrPcactGetChallenge.

sceSblGcAuthMgrAdhocBB160Init
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Init.

SceLibKernel_9EF798C1
It does not seem to call any imported function. Maybe related to low mutexes.

sceKernelGetMainModuleSdkVersion
Gets the module SDK version from the process' SceKernelProcessParam. Used for PSN Auth in SceShell.

sceSblGcAuthMgrAdhocBB160UniCastEncrypt
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160UniCastEncrypt.

sceSblGcAuthMgrAdhocBB224GetKeys
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224GetKeys.

sceSblGcAuthMgrAdhocBB160Auth3
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth3.

sceSblGcAuthMgrAdhocBB224Init
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Init.

SceLibKernel_DC277B4D
Returns a 64bit value and uses 0xdeadbeef constant somehow.

sceSblGcAuthMgrAdhocBB224Auth2
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth2.

sceSblGcAuthMgrSclkSetData2
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrSclkSetData2.

sceSblGcAuthMgrAdhocBB160BroadCastDecrypt
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160BroadCastDecrypt.

sceSblGcAuthMgrPsmactVerifyR1
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrPsmactVerifyR1.

sceSblGcAuthMgrAdhocBB160Auth1
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth1.

sceSblGcAuthMgrGetMediaIdType01
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrGetMediaIdType01.

SceKernelStackChkGuard
This is a variable (4 bytes).

__stack_chk_guard
This is a variable (4 bytes).

SceLibGcc
SceLibGcc_0DFF2B2C: 0x0DFF2B2C SceLibGcc_12472ADD: 0x12472ADD SceLibGcc_29C2EB11: 0x29C2EB11 SceLibGcc_4BB45B70: 0x4BB45B70 SceLibGcc_6214B80C: 0x6214B80C SceLibGcc_74274866: 0x74274866 SceLibGcc_7772C028: 0x7772C028 SceLibGcc_7DFC519A: 0x7DFC519A SceLibGcc_83A4F46F: 0x83A4F46F SceLibGcc_8A5F29D8: 0x8A5F29D8 SceLibGcc_8D4953C7: 0x8D4953C7 SceLibGcc_A22B2436: 0xA22B2436 SceLibGcc_AC15DBA5: 0xAC15DBA5 SceLibGcc_B1CD7AC2: 0xB1CD7AC2 SceLibGcc_BAC00FF7: 0xBAC00FF7 SceLibGcc_CD43FEDC: 0xCD43FEDC SceLibGcc_DA5097CE: 0xDA5097CE SceLibGcc_DAB28374: 0xDAB28374 SceLibGcc_DBE840D6: 0xDBE840D6 SceLibGcc_F16E32FC: 0xF16E32FC

__stack_chk_guard
This is a variable (4 bytes). Same variable as SceLibKernel library's stack_chk_guard.

sceKernelGetRandomNumber
Wrapper to _sceKernelGetRandomNumber.

Heap
The latest version of dlmalloc is included in SceLibKernel. Most of the assert checks and security are included.

Thread specific data
Each thread owns a private 2048bytes memory region with specific data (?TLS?). The end of this region is pointed by the TPIDRURO register (thus, the start address of it is TPIDRURO - 0x800).