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.

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

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).