SceLibKernel: Difference between revisions
CelesteBlue (talk | contribs) |
CelesteBlue (talk | contribs) |
||
Line 353: | Line 353: | ||
int sceKernelRegisterThreadEventHandler(char *name, SceUID uid, int num0, void *handler, int num1); | int sceKernelRegisterThreadEventHandler(char *name, SceUID uid, int num0, void *handler, int num1); | ||
</source> | </source> | ||
=== sceKernelPrintBacktrace === | === sceKernelPrintBacktrace === | ||
Line 397: | Line 381: | ||
| 3.60 || 0x01E00CBF | | 3.60 || 0x01E00CBF | ||
|} | |} | ||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160UniCastDecrypt|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160UniCastDecrypt]]. | |||
=== SceLibKernel_023EAA62 === | === SceLibKernel_023EAA62 === | ||
Line 415: | Line 401: | ||
Wrapper to [[SceKernelModulemgr#sceKernelGetLibraryInfoByNID|SceKernelModulemgr#_sceKernelGetLibraryInfoByNID]]. | Wrapper to [[SceKernelModulemgr#sceKernelGetLibraryInfoByNID|SceKernelModulemgr#_sceKernelGetLibraryInfoByNID]]. | ||
=== sceSblGcAuthMgrAdhocBB224Auth3 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x104D802F | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB224Auth3|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth3]]. | |||
=== sceSblGcAuthMgrPkgVry === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x12C7CD2B | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrPkgVry|SceSblGcAuthMgr#_sceSblGcAuthMgrPkgVry]]. | |||
=== sceSblGcAuthMgrMsSaveBBMacInit === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x1693032E | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrMsSaveBBMacInit|SceSblGcAuthMgr#_sceSblGcAuthMgrMsSaveBBMacInit]]. | |||
=== sceSblGcAuthMgrAdhocBB160Auth2 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x1F4DF829 | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160Auth2|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth2]]. | |||
=== sceSblGcAuthMgrAdhocBB224Auth1 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x211BEDE8 | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB224Auth1|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth1]]. | |||
=== sceSblGcAuthMgrMsSaveBBCipherInit === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x2E05B2DC | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrMsSaveBBCipherInit|SceSblGcAuthMgr#_sceSblGcAuthMgrMsSaveBBCipherInit]]. | |||
=== SceLibKernel_35D20E49 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x35D20E49 | |||
|} | |||
It does not seem to call any imported function. | |||
=== SceLibKernel_37F4ED04 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x37F4ED04 | |||
|} | |||
It does not seem to call any imported function. | |||
=== SceLibKernel_91FA6614 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x91FA6614 | |||
|} | |||
Temp name was sceKernelUnlockLwMutex. | |||
It does not seem to call any imported function. | |||
=== SceLibKernel_120AFC8C === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x120AFC8C | |||
|} | |||
Temp name was sceKernelUnlockLwMutex2. | |||
It does not seem to call any imported function. | |||
=== sceSblGcAuthMgrAdhocBB160Auth5 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x3B595E1D | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160Auth5|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth5]]. | |||
=== sceKernelUnlockLwMutex === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x499EA781 | |||
|} | |||
Wrapper to [[SceKernelThreadMgr#sceKernelUnlockLwMutex|SceKernelThreadMgr#_sceKernelUnlockLwMutex]]. | |||
=== sceSblGcAuthMgrAdhocBB224Auth5 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x4AC7EFC9 | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB224Auth5|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth5]]. | |||
== Heap == | == Heap == |
Revision as of 09:59, 4 December 2021
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
Version | Name | World | Privilege | NID |
---|---|---|---|---|
1.69-3.60 | SceLibKernel | Non-secure | User | 0xCAE9ACE6 |
1.69-3.60 | SceLibRng | Non-secure | User | 0xF9AC7CF8 |
1.69-3.60 | SceLibGcc | Non-secure | User | 0x567AF9A6 |
1.69-3.60 | SceLibSsp | Non-secure | User | 0x8FA98EF1 |
1.69-3.60 | SceRtabi | Non-secure | User | 0xA941943F |
1.69-3.60 | SceKernelForVM | Non-secure | User | 0xA2B3EA8F |
3.60 | SceKernelForMono | Non-secure | User | 0x5FEEA076 |
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
sceKernelRegisterThreadEventHandler
Version | NID |
---|---|
3.60 | 0x6D8C0F13 |
int sceKernelRegisterThreadEventHandler(char *name, SceUID uid, int num0, void *handler, int num1);
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.
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 |
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 |