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 os0:us/libkernel.suprx
.
Version |
Name |
World |
Privilege
|
1.69-3.73 |
SceLibKernel |
Non-secure |
User
|
Libraries
Known NIDs
SceLibKernel
sceIoChstatAsync
Version |
NID
|
3.60 |
0x9739A5E2
|
derived from SceIofilemgr
_sceIoChstatAsync
sceIoChstat
Version |
NID
|
3.60 |
0x29482F7F
|
sceIoChstatByFd
Version |
NID
|
3.60 |
0x6E903AB2
|
sceIoClose
Version |
NID
|
3.60 |
0xF5C6F098
|
derived from SceIofilemgr
sceIoClose
sceIoDevctlAsync
Version |
NID
|
3.60 |
0x950F78EB
|
derived from SceIofilemgr
_sceIoDevctlAsync
sceIoDevctl
Version |
NID
|
3.60 |
0x04B30CB2
|
sceIoDopen
Version |
NID
|
3.60 |
0xA9283DD0
|
sceIoDread
Version |
NID
|
3.60 |
0x9C8B6624
|
sceIoGetstatByFd
Version |
NID
|
3.60 |
0x57F8CD25
|
sceIoGetstatAsync
Version |
NID
|
3.60 |
0x82B20B41
|
derived from SceIofilemgr
_sceIoGetstatAsync
sceIoGetstat
Version |
NID
|
3.60 |
0xBCA5B623
|
sceIoIoctlAsync
Version |
NID
|
3.60 |
0x099C54B9
|
derived from SceIofilemgr
_sceIoIoctlAsync
sceIoIoctl
Version |
NID
|
3.60 |
0x54ABACFA
|
sceIoLseekAsync
Version |
NID
|
3.60 |
0xCAC5D672
|
derived from SceIofilemgr
_sceIoLseekAsync
sceIoLseek
Version |
NID
|
3.60 |
0x99BA173E
|
sceIoMkdirAsync
Version |
NID
|
3.60 |
0x8E5FCBB1
|
derived from SceIofilemgr
_sceIoMkdirAsync
sceIoMkdir
Version |
NID
|
3.60 |
0x9670D39F
|
sceIoOpenAsync
Version |
NID
|
3.60 |
0x6A7EA9FD
|
derived from SceIofilemgr
_sceIoOpenAsync
sceIoOpen
Version |
NID
|
3.60 |
0x6C60AC61
|
sceIoPreadAsync
Version |
NID
|
3.60 |
0xA010141E
|
derived from SceIofilemgr
_sceIoPreadAsync
sceIoPread
Version |
NID
|
3.60 |
0x52315AD7
|
sceIoPwriteAsync
Version |
NID
|
3.60 |
0xED25BEEF
|
derived from SceIofilemgr
_sceIoPwriteAsync
sceIoPwrite
Version |
NID
|
3.60 |
0x8FFFF5A8
|
sceIoRead
Version |
NID
|
3.60 |
0x713523E1
|
derived from SceIofilemgr
sceIoRead
sceIoRemoveAsync
Version |
NID
|
3.60 |
0x446A60AC
|
derived from SceIofilemgr
_sceIoRemoveAsync
sceIoRemove
Version |
NID
|
3.60 |
0xE20ED0F3
|
sceIoRenameAsync
Version |
NID
|
3.60 |
0xEE9857CD
|
derived from SceIofilemgr
_sceIoRenameAsync
sceIoRename
Version |
NID
|
3.60 |
0xF737E369
|
sceIoRmdirAsync
Version |
NID
|
3.60 |
0x9694D00F
|
derived from SceIofilemgr
_sceIoRmdirAsync
sceIoRmdir
Version |
NID
|
3.60 |
0xE9F91EC8
|
sceIoSyncAsync
Version |
NID
|
3.60 |
0xF7C7FBFE
|
derived from SceIofilemgr
_sceIoSyncAsync
sceIoSync
Version |
NID
|
3.60 |
0x98ACED6D
|
sceIoWrite
Version |
NID
|
3.60 |
0x11FED231
|
derived from SceIofilemgr
sceIoWrite
sceIoCompleteMultiple
Version |
NID
|
3.60 |
0xA792C404
|
derived from SceIofilemgr
_sceIoCompleteMultiple
sceKernelPrintBacktrace
Version |
NID
|
3.60 |
0x1C02A434
|
This is maybe a guessed name.
sceKernelPrintBacktraceForProcess
Version |
NID
|
3.60 |
0x20E2D4B7
|
This is a guessed name.
sceSblGcAuthMgrAdhocBB160UniCastDecrypt
Version |
NID
|
3.60 |
0x01E00CBF
|
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160UniCastDecrypt.
SceLibKernel_023EAA62
Version |
NID
|
3.60 |
0x023EAA62
|
sceKernelGetLibraryInfoByNID
Version |
NID
|
3.60 |
0x0A4DF821
|
Wrapper to SceKernelModulemgr#_sceKernelGetLibraryInfoByNID.
sceSblGcAuthMgrAdhocBB224Auth3
Version |
NID
|
3.60 |
0x104D802F
|
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth3.
sceSblGcAuthMgrPkgVry
Version |
NID
|
3.60 |
0x12C7CD2B
|
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrPkgVry.
sceSblGcAuthMgrMsSaveBBMacInit
Version |
NID
|
3.60 |
0x1693032E
|
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrMsSaveBBMacInit.
sceSblGcAuthMgrAdhocBB160Auth2
Version |
NID
|
3.60 |
0x1F4DF829
|
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth2.
sceSblGcAuthMgrAdhocBB224Auth1
Version |
NID
|
3.60 |
0x211BEDE8
|
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth1.
sceSblGcAuthMgrMsSaveBBCipherInit
Version |
NID
|
3.60 |
0x2E05B2DC
|
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrMsSaveBBCipherInit.
SceLibKernel_35D20E49
Version |
NID
|
3.60 |
0x35D20E49
|
It does not seem to call any imported function.
SceLibKernel_37F4ED04
Version |
NID
|
3.60 |
0x37F4ED04
|
It does not seem to call any imported function.
SceLibKernel_91FA6614
Version |
NID
|
3.60 |
0x91FA6614
|
Temp name was sceKernelUnlockLwMutex.
It does not seem to call any imported function.
SceLibKernel_120AFC8C
Version |
NID
|
3.60 |
0x120AFC8C
|
Temp name was sceKernelUnlockLwMutex2.
It does not seem to call any imported function.
sceSblGcAuthMgrAdhocBB160Auth5
Version |
NID
|
3.60 |
0x3B595E1D
|
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth5.
sceKernelUnlockLwMutex
Version |
NID
|
3.60 |
0x499EA781
|
Wrapper to SceKernelThreadMgr#_sceKernelUnlockLwMutex.
sceSblGcAuthMgrAdhocBB224Auth5
Version |
NID
|
3.60 |
0x4AC7EFC9
|
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth5.
sceKernelRegisterThreadEventHandler
Version |
NID
|
3.60 |
0x6D8C0F13
|
Wrapper to SceKernelThreadMgr#_sceKernelRegisterThreadEventHandler.
int sceKernelRegisterThreadEventHandler(char *name, SceUID thread_id, SceUInt32 mask, SceKernelThreadEventHandler *handler, void *common);
SceKernelStackChkGuard
Version |
NID
|
3.60 |
0x4458BCF3
|
This is a variable (4 bytes).
__stack_chk_guard
Version |
NID
|
3.60 |
0x93B8AA67
|
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
SceLibSsp
sceKernelStackChkFail
Version |
NID
|
3.60 |
0x39AD080B
|
int sceKernelStackChkFail(void);
__stack_chk_guard
Version |
NID
|
3.60 |
0x1EA375E6
|
This is a variable (4 bytes).
SceRtabi
SceRtabi_0D4F0635: 0x0D4F0635
SceRtabi_141BC4CE: 0x141BC4CE
SceRtabi_21FF67B9: 0x21FF67B9
SceRtabi_317B3774: 0x317B3774
SceRtabi_38D62D60: 0x38D62D60
SceRtabi_5024AB91: 0x5024AB91
SceRtabi_609CA961: 0x609CA961
SceRtabi_67104054: 0x67104054
SceRtabi_6BB838EF: 0x6BB838EF
SceRtabi_6CBB0E84: 0x6CBB0E84
SceRtabi_A5DB3A86: 0xA5DB3A86
SceRtabi_AA1F1B50: 0xAA1F1B50
SceRtabi_C33391D1: 0xC33391D1
SceRtabi_CBDA815C: 0xCBDA815C
SceRtabi_CDF7708E: 0xCDF7708E
SceRtabi_FB311F87: 0xFB311F87
SceKernelForVM
sceKernelGetThreadContextForVM
Version |
NID
|
3.60 |
0x010BB885
|
sceKernelResumeThreadForVM
Version |
NID
|
3.60 |
0x70F3F49D
|
sceKernelSuspendThreadForVM
Version |
NID
|
3.60 |
0xF5F8F795
|
SceLibRng
sceKernelGetRandomNumber
Version |
NID
|
3.60 |
0xB2700165
|
Wrapper to SceSblSsMgr#_sceKernelGetRandomNumber.
int sceKernelGetRandomNumber(int *out, int a2);
SceKernelForMono
sceKernelWaitException
Version |
NID
|
3.60 |
0x1BECC64C
|
sceKernelSuspendThreadForVM
Version |
NID
|
3.60 |
0x38839DA2
|
sceKernelSetThreadContextForVM
Version |
NID
|
3.60 |
0x92A0964D
|
sceKernelResumeThreadForVM
Version |
NID
|
3.60 |
0x9A6D085B
|
sceKernelGetThreadContextForVM
Version |
NID
|
3.60 |
0xAD210F16
|
sceKernelWaitExceptionCB
Version |
NID
|
3.60 |
0xE513151F
|
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).
Offset |
Size |
Description
|
0x000 |
4 |
??
|
0x004 |
4 |
Thread ID
|
0x008 |
4 |
Stack start address
|
0x00C |
4 |
Stack end address
|
0x010 |
4 |
Current VFP exception
|
0x014 |
4 |
LwMutex related
|
0x020 |
4 |
Current priority
|
0x024 |
4 |
CPU affinity mask
|