Difference between revisions of "NSKBL Subroutines"

From Vita Development Wiki
Jump to navigation Jump to search
(26 intermediate revisions by the same user not shown)
Line 1: Line 1:
  
 
== Common data ==
 
== Common data ==
 
=== pSceUIDModuleClass ===
 
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Version !! offset !! size !! description
+
! Version !! offset !! size !! name !! description
 +
|-
 +
| 3.60 || 0x5113F39C || 4 || pSceUIDModuleClass || pointer of SceClass.
 +
|-
 +
| 3.60 || 0x5113F3A4 || 4 || pSceUIDModuleClass || pointer of SceClass.
 +
|-
 +
| 3.60 || 0x5113F3A8 || 4 || pSceUIDLibStubClass || pointer of SceClass.
 +
|-
 +
| 3.60 || 0x5113F3AC || 4 || pSceUIDLibraryClass || pointer of SceClass.
 +
|-
 +
| 3.60 || 0x5115F3C0 || 0x24C0 || sdif_ctx || ctx data for emmc.
 +
|-
 +
| 3.60 || 0x51161880 || 0x24C0 || sdif_ctx || ctx data for game card.
 +
|-
 +
| 3.60 || 0x51166B80 || 0x200 || root sector for fat_init_dev || root sector data.
 +
|-
 +
| 3.60 || 0x511671A0 || 0x200 || root sector for fs_working || root sector data.
 +
|-
 +
| 3.60 || 0x511673A0 || 4 || pointer of SceKblFsReadCtx || pointer of SceKblFsReadCtx.
 
|-
 
|-
| 3.60 || 0x5113F39C || 4 || pointer of SceClass.
+
| 3.60 || 0x51167728 || 0x5C || fs_read_ctx_gcsd || ctx data.
 +
|-
 +
| 3.60 || 0x51167784 || 0x5C || fs_read_ctx_emmc || ctx data.
 
|}
 
|}
  
There is no mistake that there are two
+
== Common functions ==
  
=== pSceUIDModuleClass ===
+
=== read_sector ===
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Version !! offset !! size !! description
+
! Version !! offset !! mode
 
|-
 
|-
| 3.60 || 0x5113F3A4 || 4 || pointer of SceClass.
+
| 3.60 || 0x510010FC || thumb
 
|}
 
|}
  
=== pSceUIDLibStubClass ===
+
call read_sector_direct.
  
{| class="wikitable"
+
<source lang="C">int read_sector(void *ctx, unsigned int sector_pos, unsigned int sector_num, void *data);</source>
|-
 
! Version !! offset !! size !! description
 
|-
 
| 3.60 || 0x5113F3A8 || 4 || pointer of SceClass.
 
|}
 
  
=== pSceUIDLibraryClass ===
+
=== read_sector_direct ===
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Version !! offset !! size !! description
+
! Version !! offset !! mode
 
|-
 
|-
| 3.60 || 0x5113F3AC || 4 || pointer of SceClass.
+
| 3.60 || 0x510010C4 || thumb
 
|}
 
|}
  
== Common functions ==
+
<source lang="C">int read_sector_direct(void *ctx, unsigned int sector_pos, unsigned int sector_num, void *data);</source>
 +
 
 +
=== SceKernelIntrMgr ===
  
=== read_sector ===
+
==== sceKernelRegisterIntrHandler ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 48: Line 63:
 
! Version !! offset !! mode
 
! Version !! offset !! mode
 
|-
 
|-
| 3.60 || 0x510010FC || thumb
+
| 3.60 || 0x510035AC || thumb
 
|}
 
|}
  
call read_sector_direct.
+
<source lang="C">int sceKernelRegisterIntrHandler(int code, const char *name, int interrupt_type, SceKernelIntrHandler *handler, void* userCtx, int priority, int targetcpu, SceKernelRegisterInterruptOptions *opt);</source>
  
<source lang="C">int read_sector(void *ctx, unsigned int sector_pos, unsigned int sector_num, void *data);</source>
+
=== SceSysmem ===
  
=== read_sector_direct ===
+
==== sceKernelGetUidMemBlockClass ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 61: Line 76:
 
! Version !! offset !! mode
 
! Version !! offset !! mode
 
|-
 
|-
| 3.60 || 0x510010C4 || thumb
+
| 3.60 || 0x51003B68 || thumb
 
|}
 
|}
  
<source lang="C">int read_sector_direct(void *ctx, unsigned int sector_pos, unsigned int sector_num, void *data);</source>
+
<source lang="C">SceClass *sceKernelGetUidMemBlockClass(void);</source>
  
=== sceKernelCreateClass ===
+
==== sceKernelCreateClass ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 77: Line 92:
 
<source lang="C">int sceKernelCreateClass(SceClass *cls, const char *name, void *uidclass, SceSize itemsize, SceClassCallback create, SceClassCallback destroy);</source>
 
<source lang="C">int sceKernelCreateClass(SceClass *cls, const char *name, void *uidclass, SceSize itemsize, SceClassCallback create, SceClassCallback destroy);</source>
  
=== sceKernelGetUidClass ===
+
==== sceKernelGetUidClass ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 88: Line 103:
 
<source lang="C">SceClass *sceKernelGetUidClass(void);</source>
 
<source lang="C">SceClass *sceKernelGetUidClass(void);</source>
  
=== sceGUIDClose ===
+
==== sceGUIDClose ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 99: Line 114:
 
<source lang="C">int sceGUIDClose(SceUID uid);</source>
 
<source lang="C">int sceGUIDClose(SceUID uid);</source>
  
=== sceGUIDGetObject ===
+
==== sceGUIDGetObject ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 110: Line 125:
 
<source lang="C">int sceGUIDGetObject(SceUID uid, SceKernelObject **ppEntry);</source>
 
<source lang="C">int sceGUIDGetObject(SceUID uid, SceKernelObject **ppEntry);</source>
  
=== sceGUIDReferObjectWithClass ===
+
==== sceGUIDReferObjectWithClass ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 121: Line 136:
 
<source lang="C">int sceGUIDReferObjectWithClass(SceUID uid, SceClass *pClass, SceKernelObject **ppEntry);</source>
 
<source lang="C">int sceGUIDReferObjectWithClass(SceUID uid, SceClass *pClass, SceKernelObject **ppEntry);</source>
  
=== sceKernelUidRelease ===
+
==== sceKernelUidRelease ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 132: Line 147:
 
<source lang="C">int sceKernelUidRelease(SceUID uid);</source>
 
<source lang="C">int sceKernelUidRelease(SceUID uid);</source>
  
=== sceKernelAllocPartitionMemBlock ===
+
==== sceKernelGetPaddr ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x5100788C || thumb
 +
|}
 +
 
 +
<source lang="C">int sceKernelGetPaddr(const void *VA, uintptr_t *pPA);</source>
 +
 
 +
==== sceKernelUnmapMemBlock ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x510087D8 || thumb
 +
|}
 +
 
 +
==== sceKernelFreeMemBlock ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x510089A8 || thumb
 +
|}
 +
 
 +
<source lang="C">int sceKernelFreeMemBlock(SceUID memid);</source>
 +
 
 +
==== sceKernelAllocPartitionMemBlock ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 143: Line 189:
 
<source lang="C">SceUID sceKernelAllocPartitionMemBlock(SceUID part, const char *name, SceKernelMemBlockType type, SceSize size, SceKernelAllocMemBlockOptKernel *pOpt);</source>
 
<source lang="C">SceUID sceKernelAllocPartitionMemBlock(SceUID part, const char *name, SceKernelMemBlockType type, SceSize size, SceKernelAllocMemBlockOptKernel *pOpt);</source>
  
=== sceKernelCreateHeap ===
+
==== sceKernelCreateHeap ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 154: Line 200:
 
<source lang="C">SceUID sceKernelCreateHeap(const char *name, SceSize size, SceKernelHeapCreateOpt *pOpt);</source>
 
<source lang="C">SceUID sceKernelCreateHeap(const char *name, SceSize size, SceKernelHeapCreateOpt *pOpt);</source>
  
=== sceKernelDeleteHeap ===
+
==== sceKernelDeleteHeap ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 165: Line 211:
 
<source lang="C">int sceKernelDeleteHeap(SceUID uid);</source>
 
<source lang="C">int sceKernelDeleteHeap(SceUID uid);</source>
  
=== sceKernelSysrootSetStatus ===
+
==== sceKernelAllocHeapMemoryWithOpt ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x5100F28C || thumb
 +
|}
 +
 
 +
<source lang="C">void *sceKernelAllocHeapMemoryWithOpt(SceUID uid, SceSize size, SceKernelHeapMemoryOpt *pOpt);</source>
 +
 
 +
==== sceKernelAllocHeapMemory ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x5100F334 || thumb
 +
|}
 +
 
 +
<source lang="C">void *sceKernelAllocHeapMemory(SceUID uid, SceSize size);</source>
 +
 
 +
==== sceKernelFreeHeapMemory ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x5100F340 || thumb
 +
|}
 +
 
 +
<source lang="C">int sceKernelFreeHeapMemory(SceUID uid, void *ptr);</source>
 +
 
 +
==== sceKernelSysrootSetStatus ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 176: Line 255:
 
<source lang="C">void sceKernelSysrootSetStatus(unsigned int status);</source>
 
<source lang="C">void sceKernelSysrootSetStatus(unsigned int status);</source>
  
=== sceKernelSysrootSetSysroot ===
+
==== sceKernelSysrootSetSysroot ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 187: Line 266:
 
<source lang="C">void sceKernelSysrootSetSysroot(int sysroot);</source>
 
<source lang="C">void sceKernelSysrootSetSysroot(int sysroot);</source>
  
=== sceKernelSysrootGetKblParam ===
+
==== sceKernelSysrootGetKblParam ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 198: Line 277:
 
<source lang="C">void *sceKernelSysrootGetKblParam(void);</source>
 
<source lang="C">void *sceKernelSysrootGetKblParam(void);</source>
  
=== sceKernelSysrootSetModulePrivate ===
+
==== sceKernelSysrootGetVbaseResetVector ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x510122B4 || thumb
 +
|}
 +
 
 +
<source lang="C">void *sceKernelSysrootGetVbaseResetVector(void);</source>
 +
 
 +
==== sceKernelSysrootSetSharedMemory ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x51012320 || thumb
 +
|}
 +
 
 +
<source lang="C">void sceKernelSysrootSetSharedMemory(void *ptr);</source>
 +
 
 +
==== sceKernelSysrootSetModulePrivate ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 209: Line 310:
 
<source lang="C">void sceKernelSysrootSetModulePrivate(int idx, void *data);</source>
 
<source lang="C">void sceKernelSysrootSetModulePrivate(int idx, void *data);</source>
  
=== sceKernelSysrootUseExternalStorage ===
+
==== sceKernelSysrootUseExternalStorage ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 220: Line 321:
 
<source lang="C">int sceKernelSysrootUseExternalStorage(void);</source>
 
<source lang="C">int sceKernelSysrootUseExternalStorage(void);</source>
  
=== sceKernelSysrootIsExternalBootMode ===
+
==== sceKernelSysrootIsExternalBootMode ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 231: Line 332:
 
<source lang="C">int sceKernelSysrootIsExternalBootMode(void);</source>
 
<source lang="C">int sceKernelSysrootIsExternalBootMode(void);</source>
  
=== __stack_chk_fail ===
+
==== sceKernelRegisterInitCallback ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x51012990 || thumb
 +
|}
 +
 
 +
<source lang="C">int sceKernelRegisterInitCallback(const void *cb, int idx, int a3, int *pRes);</source>
 +
 
 +
==== sceDebugPrintKernelPanic ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x51013394 || thumb
 +
|}
 +
 
 +
slightly different as non-secure SceSysmem -> sceDebugPrintKernelPanic
 +
 
 +
<source lang="C">void sceDebugPrintKernelPanic(const SceKernelDebugMessageContext *ctx, void *some_address);</source>
 +
 
 +
==== sceDebugRegisterPutcharHandler ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x51013780 || thumb
 +
|}
 +
 
 +
<source lang="C">void sceDebugRegisterPutcharHandler(int (* func)(void *args, char c), void *args);</source>
 +
 
 +
==== sceDebugPrintf2 ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 237: Line 373:
 
! Version !! offset !! mode
 
! Version !! offset !! mode
 
|-
 
|-
| 3.60 || 0x51014508 || thumb
+
| 3.60 || 0x510138B0 || thumb
 
|}
 
|}
  
<source lang="C">void __stack_chk_fail(void);</source>
+
<source lang="C">int sceDebugPrintf2(int msg_type_flag, const SceKernelDebugMessageContext *ctx, const char *fmt, ...);</source>
  
=== strlen ===
+
==== strlen ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 253: Line 389:
 
<source lang="C">SceSize strlen(const char *s);</source>
 
<source lang="C">SceSize strlen(const char *s);</source>
  
=== strnlen ===
+
==== strnlen ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 264: Line 400:
 
<source lang="C">SceSize strnlen(const char *s, SceSize maxlen);</source>
 
<source lang="C">SceSize strnlen(const char *s, SceSize maxlen);</source>
  
=== SceSysclibForDriver_E38E7605 ===
+
==== SceSysclibForDriver_E38E7605 ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 285: Line 421:
 
</source>
 
</source>
  
=== snprintf ===
+
==== snprintf ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 296: Line 432:
 
<source lang="C">int snprintf(char *dst, int dstmax, const char *fmt, ...);</source>
 
<source lang="C">int snprintf(char *dst, int dstmax, const char *fmt, ...);</source>
  
=== strncpy ===
+
==== strncpy ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 307: Line 443:
 
<source lang="C">char *strncpy(char *dst, const char *src, SceSize len);</source>
 
<source lang="C">char *strncpy(char *dst, const char *src, SceSize len);</source>
  
=== sceKernelCpuIcacheInvalidateAll ===
+
==== __stack_chk_fail ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x51014508 || thumb
 +
|}
 +
 
 +
<source lang="C">void __stack_chk_fail(void);</source>
 +
 
 +
==== sceKernelCpuIcacheInvalidateAll ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 318: Line 465:
 
<source lang="C">void sceKernelCpuIcacheInvalidateAll(void);</source>
 
<source lang="C">void sceKernelCpuIcacheInvalidateAll(void);</source>
  
=== sceKernelCpuIcacheInvalidateRange ===
+
==== sceKernelCpuIcacheInvalidateRange ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 329: Line 476:
 
<source lang="C">void sceKernelCpuIcacheInvalidateRange(void *data, SceSize size);</source>
 
<source lang="C">void sceKernelCpuIcacheInvalidateRange(void *data, SceSize size);</source>
  
=== sceKernelCpuDcacheInvalidateMVACRange ===
+
==== sceKernelCpuDcacheInvalidateMVACRange ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 340: Line 487:
 
<source lang="C">void sceKernelCpuDcacheInvalidateMVACRange(void *data, SceSize size);</source>
 
<source lang="C">void sceKernelCpuDcacheInvalidateMVACRange(void *data, SceSize size);</source>
  
=== sceKernelCpuDcacheCleanMVACRange ===
+
==== sceKernelCpuDcacheCleanMVACRange ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 351: Line 498:
 
<source lang="C">void sceKernelCpuDcacheCleanMVACRange(void *data, SceSize size);</source>
 
<source lang="C">void sceKernelCpuDcacheCleanMVACRange(void *data, SceSize size);</source>
  
=== sceKernelCpuDcacheWritebackInvalidateRange ===
+
==== sceKernelCpuDcacheWritebackInvalidateRange ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 362: Line 509:
 
<source lang="C">void sceKernelCpuDcacheWritebackInvalidateRange(void *data, SceSize size);</source>
 
<source lang="C">void sceKernelCpuDcacheWritebackInvalidateRange(void *data, SceSize size);</source>
  
=== sceKernelCpuDcacheAndL2InvalidateRange ===
+
==== sceKernelCpuAtomicGetAndSub16 ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x510145F4 || arm
 +
|}
 +
 
 +
<source lang="C">int16_t sceKernelCpuAtomicGetAndSub16(void *a1, int16_t a2);</source>
 +
 
 +
==== sceKernelInitCpuCoreSyncCtx ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x51014900 || thumb
 +
|}
 +
 
 +
<source lang="C">void sceKernelInitCpuCoreSyncCtx(SceCpuCoreSyncCtx *pCtx);</source>
 +
 
 +
==== sceKernelCoreSyncWait ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x5101490C || thumb
 +
|}
 +
 
 +
<source lang="C">void sceKernelCoreSyncWait(SceCpuCoreSyncCtx *pCtx, int core);</source>
 +
 
 +
==== sceKernelCoreSyncAll ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x51014940 || thumb
 +
|}
 +
 
 +
<source lang="C">void sceKernelCoreSyncAll(SceCpuCoreSyncCtx *pCtx);</source>
 +
 
 +
==== sceKernelCpuDcacheAndL2InvalidateRange ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 373: Line 564:
 
<source lang="C">void sceKernelCpuDcacheAndL2InvalidateRange(void *data, SceSize size);</source>
 
<source lang="C">void sceKernelCpuDcacheAndL2InvalidateRange(void *data, SceSize size);</source>
  
=== sceKernelCpuDcacheAndL2WritebackRange ===
+
==== sceKernelCpuDcacheAndL2WritebackRange ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 384: Line 575:
 
<source lang="C">void sceKernelCpuDcacheAndL2WritebackRange(void *data, SceSize size);</source>
 
<source lang="C">void sceKernelCpuDcacheAndL2WritebackRange(void *data, SceSize size);</source>
  
=== sceKernelCpuSuspendIntr ===
+
==== sceKernelCpuDisableInterrupts ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x510147AC || thumb
 +
|}
 +
 
 +
<source lang="C">int sceKernelCpuDisableInterrupts(void);</source>
 +
 
 +
==== sceKernelCpuEnableInterrupts ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x510147BC || thumb
 +
|}
 +
 
 +
<source lang="C">int sceKernelCpuEnableInterrupts(int flags);</source>
 +
 
 +
==== sceKernelCpuSuspendIntr ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 395: Line 608:
 
<source lang="C">int sceKernelCpuSuspendIntr(int *addr);</source>
 
<source lang="C">int sceKernelCpuSuspendIntr(int *addr);</source>
  
=== sceKernelCpuResumeIntr ===
+
==== sceKernelCpuResumeIntr ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 406: Line 619:
 
<source lang="C">int sceKernelCpuResumeIntr(int *addr, int prev_state);</source>
 
<source lang="C">int sceKernelCpuResumeIntr(int *addr, int prev_state);</source>
  
=== vaddr_to_paddr_with_mode ===
+
==== sceKernelCpuUnrestrictedMemcpy ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x51014BDC || thumb
 +
|}
 +
 
 +
<source lang="C">int sceKernelCpuUnrestrictedMemcpy(void *dst, const void *src, SceSize len);</source>
 +
 
 +
==== vaddr_to_paddr_with_mode ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 419: Line 643:
 
<source lang="C">int vaddr_to_paddr_with_mode(int mode, int a2, const void *VA, int *pPA, int a5);</source>
 
<source lang="C">int vaddr_to_paddr_with_mode(int mode, int a2, const void *VA, int *pPA, int a5);</source>
  
=== sceSblAuthMgrOpen ===
+
==== sceKernelMMUVAtoPAWithMode ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x510155F4 || thumb
 +
|}
 +
 
 +
<source lang="C">int sceKernelMMUVAtoPAWithMode(int mode, const void *VA, unsigned int *pPA);</source>
 +
 
 +
=== SceSblSmschedProxy ===
 +
 
 +
==== SceSblSmschedProxy_module_start ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x51015D10 || thumb
 +
|}
 +
 
 +
<source lang="C">int SceSblSmschedProxy_module_start(SceSize args, void *argp);</source>
 +
 
 +
==== sceSblSmSchedProxyInitialize ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x51015DD0 || thumb
 +
|}
 +
 
 +
<source lang="C">int sceSblSmSchedProxyInitialize(void);</source>
 +
 
 +
==== sceSblSmSchedProxyWait ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x51015FEC || thumb
 +
|}
 +
 
 +
<source lang="C">int sceSblSmSchedProxyWait(SceSmSchedRequestId req_id, status_handler *result);</source>
 +
 
 +
==== sceSblSmSchedProxyGetStatus ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x51016150 || thumb
 +
|}
 +
 
 +
<source lang="C">int sceSblSmSchedProxyGetStatus(SceSmSchedRequestId req_id, status_handler *status);</source>
 +
 
 +
=== SceSblAuthMgr ===
 +
 
 +
==== sceSblAuthMgrOpen ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 430: Line 713:
 
<source lang="C">int sceSblAuthMgrOpen(int *ctx);</source>
 
<source lang="C">int sceSblAuthMgrOpen(int *ctx);</source>
  
=== sceSblAuthMgrClose ===
+
==== sceSblAuthMgrClose ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 441: Line 724:
 
<source lang="C">int sceSblAuthMgrClose(int ctx);</source>
 
<source lang="C">int sceSblAuthMgrClose(int ctx);</source>
  
=== sceSblAuthMgrAuthHeader ===
+
==== sceSblAuthMgrAuthHeader ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 452: Line 735:
 
<source lang="C">int sceSblAuthMgrAuthHeader(int ctx, void *pSelfHeader, SceSize SelfHeaderSize, SceSblSmCommContext130 *ctx130);</source>
 
<source lang="C">int sceSblAuthMgrAuthHeader(int ctx, void *pSelfHeader, SceSize SelfHeaderSize, SceSblSmCommContext130 *ctx130);</source>
  
=== sceSblAuthMgrSetupAuthSegment ===
+
==== sceSblAuthMgrSetupAuthSegment ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 463: Line 746:
 
<source lang="C">int sceSblAuthMgrSetupAuthSegment(int ctx,int segment_number);</source>
 
<source lang="C">int sceSblAuthMgrSetupAuthSegment(int ctx,int segment_number);</source>
  
=== sceSblAuthMgrAuthSegment ===
+
==== sceSblAuthMgrAuthSegment ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 474: Line 757:
 
<source lang="C">int sceSblAuthMgrAuthSegment(int ctx, void *buffer, SceSize len);</source>
 
<source lang="C">int sceSblAuthMgrAuthSegment(int ctx, void *buffer, SceSize len);</source>
  
=== sceSblQafMgrIsAllowHost0Access ===
+
=== SceQafMgrForDriver ===
 +
 
 +
==== sceSblQafMgrIsAllowHost0Access ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 485: Line 770:
 
<source lang="C">int sceSblQafMgrIsAllowHost0Access(void);</source>
 
<source lang="C">int sceSblQafMgrIsAllowHost0Access(void);</source>
  
=== sceSblACMgrIsDevelopmentMode ===
+
=== SceSblACMgrForDriver ===
 +
 
 +
==== sceSblACMgrIsDevelopmentMode ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 496: Line 783:
 
<source lang="C">int sceSblACMgrIsDevelopmentMode(void);</source>
 
<source lang="C">int sceSblACMgrIsDevelopmentMode(void);</source>
  
=== sceSblAimgrIsGenuineVITA ===
+
=== SceSblAIMgrForDriver ===
 +
 
 +
==== sceSblAimgrIsGenuineVITA ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 507: Line 796:
 
<source lang="C">int sceSblAimgrIsGenuineVITA(void);</source>
 
<source lang="C">int sceSblAimgrIsGenuineVITA(void);</source>
  
=== get_module_object ===
+
=== SceKernelModulemgr ===
 +
 
 +
==== get_module_object ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 518: Line 809:
 
<source lang="C">SceModuleObject *get_module_object(SceUID modid);</source>
 
<source lang="C">SceModuleObject *get_module_object(SceUID modid);</source>
  
=== initialize_module_class ===
+
==== initialize_module_class ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 527: Line 818:
 
|}
 
|}
  
=== sceKernelLoadModule ===
+
==== sceKernelLoadModule ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 538: Line 829:
 
<source lang="C">SceUID sceKernelLoadModule(const char *path, int flags, void *option);</source>
 
<source lang="C">SceUID sceKernelLoadModule(const char *path, int flags, void *option);</source>
  
=== sceKernelLoadModuleForPidInternal ===
+
==== sceKernelLoadModuleForPidInternal ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 551: Line 842:
 
<source lang="C">SceUID sceKernelLoadModuleForPidInternal(SceUID pid, const char *path, int flags, void *option);</source>
 
<source lang="C">SceUID sceKernelLoadModuleForPidInternal(SceUID pid, const char *path, int flags, void *option);</source>
  
=== sceSdifGetSdContextGlobal ===
+
==== sceKernelStartModule ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x51017BB0 || thumb
 +
|}
 +
 
 +
<source lang="C">int sceKernelStartModule(SceUID modid, SceSize args, void *argp, int flags, void *option, int *status);</source>
 +
 
 +
==== sceKernelStartModuleForPidInternal ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x510179D8 || thumb
 +
|}
 +
 
 +
don't have flags check
 +
 
 +
<source lang="C">int sceKernelStartModuleForPidInternal(SceUID pid, SceUID modid, SceSize args, void *argp, int flags, void *option, int *status);</source>
 +
 
 +
==== get_module_bootstart ====
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x51017BE4 || thumb
 +
|}
 +
 
 +
<source lang="C">int get_module_bootstart(SceUID modid, void *entry);</source>
 +
 
 +
=== SceSdif ===
 +
 
 +
==== sceSdifGetSdContextGlobal ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 562: Line 890:
 
<source lang="C">void *sceSdifGetSdContextGlobal(int type);</source>
 
<source lang="C">void *sceSdifGetSdContextGlobal(int type);</source>
  
=== sceSdifInitializeMmcDevice ===
+
==== sceSdifInitializeMmcDevice ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 573: Line 901:
 
<source lang="C">int sceSdifInitializeMmcDevice(int sd_ctx_index, void **result);</source>
 
<source lang="C">int sceSdifInitializeMmcDevice(int sd_ctx_index, void **result);</source>
  
=== sceSdifInitializeSdDevice ===
+
==== sceSdifInitializeSdDevice ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 584: Line 912:
 
<source lang="C">int sceSdifInitializeSdDevice(int sd_ctx_index, void **result);</source>
 
<source lang="C">int sceSdifInitializeSdDevice(int sd_ctx_index, void **result);</source>
  
=== sceSdifReadSectorMmc ===
+
==== sceSdifReadSectorMmc ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 595: Line 923:
 
<source lang="C">int sceSdifReadSectorMmc(void *part_ctx, SceSize sector_pos, void *data, SceSize sector_num);</source>
 
<source lang="C">int sceSdifReadSectorMmc(void *part_ctx, SceSize sector_pos, void *data, SceSize sector_num);</source>
  
=== sceSdifReadSectorSd ===
+
==== sceSdifReadSectorSd ====
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 605: Line 933:
  
 
<source lang="C">int sceSdifReadSectorSd(void *part_ctx, SceSize sector_pos, void *data, SceSize sector_num);</source>
 
<source lang="C">int sceSdifReadSectorSd(void *part_ctx, SceSize sector_pos, void *data, SceSize sector_num);</source>
 +
 +
=== SceKernelUtilsForDriver ===
 +
 +
==== sceZlibGetInfo ====
 +
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x510213B4 || thumb
 +
|}
 +
 +
<source lang="C">int sceZlibGetInfo(const void *src, unsigned char *cmf, unsigned char *flg, unsigned int *dictid, const void **data);</source>
 +
 +
==== sceDeflateDecompress ====
 +
 +
{| class="wikitable"
 +
|-
 +
! Version !! offset !! mode
 +
|-
 +
| 3.60 || 0x51021488 || thumb
 +
|}
 +
 +
<source lang="C">int sceDeflateDecompress(void *dst, SceSize dst_size, const void *src, const void **next);</source>
 +
 +
[[Category:Modules]]
 +
[[Category:Kernel]]

Revision as of 17:57, 4 September 2020

Common data

Version offset size name description
3.60 0x5113F39C 4 pSceUIDModuleClass pointer of SceClass.
3.60 0x5113F3A4 4 pSceUIDModuleClass pointer of SceClass.
3.60 0x5113F3A8 4 pSceUIDLibStubClass pointer of SceClass.
3.60 0x5113F3AC 4 pSceUIDLibraryClass pointer of SceClass.
3.60 0x5115F3C0 0x24C0 sdif_ctx ctx data for emmc.
3.60 0x51161880 0x24C0 sdif_ctx ctx data for game card.
3.60 0x51166B80 0x200 root sector for fat_init_dev root sector data.
3.60 0x511671A0 0x200 root sector for fs_working root sector data.
3.60 0x511673A0 4 pointer of SceKblFsReadCtx pointer of SceKblFsReadCtx.
3.60 0x51167728 0x5C fs_read_ctx_gcsd ctx data.
3.60 0x51167784 0x5C fs_read_ctx_emmc ctx data.

Common functions

read_sector

Version offset mode
3.60 0x510010FC thumb

call read_sector_direct.

int read_sector(void *ctx, unsigned int sector_pos, unsigned int sector_num, void *data);

read_sector_direct

Version offset mode
3.60 0x510010C4 thumb
int read_sector_direct(void *ctx, unsigned int sector_pos, unsigned int sector_num, void *data);

SceKernelIntrMgr

sceKernelRegisterIntrHandler

Version offset mode
3.60 0x510035AC thumb
int sceKernelRegisterIntrHandler(int code, const char *name, int interrupt_type, SceKernelIntrHandler *handler, void* userCtx, int priority, int targetcpu, SceKernelRegisterInterruptOptions *opt);

SceSysmem

sceKernelGetUidMemBlockClass

Version offset mode
3.60 0x51003B68 thumb
SceClass *sceKernelGetUidMemBlockClass(void);

sceKernelCreateClass

Version offset mode
3.60 0x510059A0 thumb
int sceKernelCreateClass(SceClass *cls, const char *name, void *uidclass, SceSize itemsize, SceClassCallback create, SceClassCallback destroy);

sceKernelGetUidClass

Version offset mode
3.60 0x51005A04 thumb
SceClass *sceKernelGetUidClass(void);

sceGUIDClose

Version offset mode
3.60 0x5100662C thumb
int sceGUIDClose(SceUID uid);

sceGUIDGetObject

Version offset mode
3.60 0x51006770 thumb
int sceGUIDGetObject(SceUID uid, SceKernelObject **ppEntry);

sceGUIDReferObjectWithClass

Version offset mode
3.60 0x510069E8 thumb
int sceGUIDReferObjectWithClass(SceUID uid, SceClass *pClass, SceKernelObject **ppEntry);

sceKernelUidRelease

Version offset mode
3.60 0x51006A50 thumb
int sceKernelUidRelease(SceUID uid);

sceKernelGetPaddr

Version offset mode
3.60 0x5100788C thumb
int sceKernelGetPaddr(const void *VA, uintptr_t *pPA);

sceKernelUnmapMemBlock

Version offset mode
3.60 0x510087D8 thumb

sceKernelFreeMemBlock

Version offset mode
3.60 0x510089A8 thumb
int sceKernelFreeMemBlock(SceUID memid);

sceKernelAllocPartitionMemBlock

Version offset mode
3.60 0x5100B7B0 thumb
SceUID sceKernelAllocPartitionMemBlock(SceUID part, const char *name, SceKernelMemBlockType type, SceSize size, SceKernelAllocMemBlockOptKernel *pOpt);

sceKernelCreateHeap

Version offset mode
3.60 0x5100F04C thumb
SceUID sceKernelCreateHeap(const char *name, SceSize size, SceKernelHeapCreateOpt *pOpt);

sceKernelDeleteHeap

Version offset mode
3.60 0x5100F068 thumb
int sceKernelDeleteHeap(SceUID uid);

sceKernelAllocHeapMemoryWithOpt

Version offset mode
3.60 0x5100F28C thumb
void *sceKernelAllocHeapMemoryWithOpt(SceUID uid, SceSize size, SceKernelHeapMemoryOpt *pOpt);

sceKernelAllocHeapMemory

Version offset mode
3.60 0x5100F334 thumb
void *sceKernelAllocHeapMemory(SceUID uid, SceSize size);

sceKernelFreeHeapMemory

Version offset mode
3.60 0x5100F340 thumb
int sceKernelFreeHeapMemory(SceUID uid, void *ptr);

sceKernelSysrootSetStatus

Version offset mode
3.60 0x5101220C thumb
void sceKernelSysrootSetStatus(unsigned int status);

sceKernelSysrootSetSysroot

Version offset mode
3.60 0x51012234 thumb
void sceKernelSysrootSetSysroot(int sysroot);

sceKernelSysrootGetKblParam

Version offset mode
3.60 0x51012244 thumb
void *sceKernelSysrootGetKblParam(void);

sceKernelSysrootGetVbaseResetVector

Version offset mode
3.60 0x510122B4 thumb
void *sceKernelSysrootGetVbaseResetVector(void);

sceKernelSysrootSetSharedMemory

Version offset mode
3.60 0x51012320 thumb
void sceKernelSysrootSetSharedMemory(void *ptr);

sceKernelSysrootSetModulePrivate

Version offset mode
3.60 0x510124D0 thumb
void sceKernelSysrootSetModulePrivate(int idx, void *data);

sceKernelSysrootUseExternalStorage

Version offset mode
3.60 0x510128D4 thumb
int sceKernelSysrootUseExternalStorage(void);

sceKernelSysrootIsExternalBootMode

Version offset mode
3.60 0x510128E8 thumb
int sceKernelSysrootIsExternalBootMode(void);

sceKernelRegisterInitCallback

Version offset mode
3.60 0x51012990 thumb
int sceKernelRegisterInitCallback(const void *cb, int idx, int a3, int *pRes);

sceDebugPrintKernelPanic

Version offset mode
3.60 0x51013394 thumb

slightly different as non-secure SceSysmem -> sceDebugPrintKernelPanic

void sceDebugPrintKernelPanic(const SceKernelDebugMessageContext *ctx, void *some_address);

sceDebugRegisterPutcharHandler

Version offset mode
3.60 0x51013780 thumb
void sceDebugRegisterPutcharHandler(int (* func)(void *args, char c), void *args);

sceDebugPrintf2

Version offset mode
3.60 0x510138B0 thumb
int sceDebugPrintf2(int msg_type_flag, const SceKernelDebugMessageContext *ctx, const char *fmt, ...);

strlen

Version offset mode
3.60 0x51013B7C thumb
SceSize strlen(const char *s);

strnlen

Version offset mode
3.60 0x51013B80 thumb
SceSize strnlen(const char *s, SceSize maxlen);

SceSysclibForDriver_E38E7605

Version offset mode
3.60 0x51013BD0 thumb

same as non-secure SceSysmem -> SceSysclibForDriver_E38E7605.

typedef struct SceKernelPrintFmt {
	int dstlen;
	int res; // output length
	char *dst;
} SceKernelPrintFmt;

int SceSysclibForDriver_E38E7605(const void *some_cb, SceKernelPrintFmt *ctx, const char *fmt, va_list list);

snprintf

Version offset mode
3.60 0x51014458 thumb
int snprintf(char *dst, int dstmax, const char *fmt, ...);

strncpy

Version offset mode
3.60 0x510144A0 thumb
char *strncpy(char *dst, const char *src, SceSize len);

__stack_chk_fail

Version offset mode
3.60 0x51014508 thumb
void __stack_chk_fail(void);

sceKernelCpuIcacheInvalidateAll

Version offset mode
3.60 0x51014520 thumb
void sceKernelCpuIcacheInvalidateAll(void);

sceKernelCpuIcacheInvalidateRange

Version offset mode
3.60 0x51014530 thumb
void sceKernelCpuIcacheInvalidateRange(void *data, SceSize size);

sceKernelCpuDcacheInvalidateMVACRange

Version offset mode
3.60 0x5101454C thumb
void sceKernelCpuDcacheInvalidateMVACRange(void *data, SceSize size);

sceKernelCpuDcacheCleanMVACRange

Version offset mode
3.60 0x5101456C thumb
void sceKernelCpuDcacheCleanMVACRange(void *data, SceSize size);

sceKernelCpuDcacheWritebackInvalidateRange

Version offset mode
3.60 0x5101458C thumb
void sceKernelCpuDcacheWritebackInvalidateRange(void *data, SceSize size);

sceKernelCpuAtomicGetAndSub16

Version offset mode
3.60 0x510145F4 arm
int16_t sceKernelCpuAtomicGetAndSub16(void *a1, int16_t a2);

sceKernelInitCpuCoreSyncCtx

Version offset mode
3.60 0x51014900 thumb
void sceKernelInitCpuCoreSyncCtx(SceCpuCoreSyncCtx *pCtx);

sceKernelCoreSyncWait

Version offset mode
3.60 0x5101490C thumb
void sceKernelCoreSyncWait(SceCpuCoreSyncCtx *pCtx, int core);

sceKernelCoreSyncAll

Version offset mode
3.60 0x51014940 thumb
void sceKernelCoreSyncAll(SceCpuCoreSyncCtx *pCtx);

sceKernelCpuDcacheAndL2InvalidateRange

Version offset mode
3.60 0x51014B60 thumb
void sceKernelCpuDcacheAndL2InvalidateRange(void *data, SceSize size);

sceKernelCpuDcacheAndL2WritebackRange

Version offset mode
3.60 0x51014BD0 thumb
void sceKernelCpuDcacheAndL2WritebackRange(void *data, SceSize size);

sceKernelCpuDisableInterrupts

Version offset mode
3.60 0x510147AC thumb
int sceKernelCpuDisableInterrupts(void);

sceKernelCpuEnableInterrupts

Version offset mode
3.60 0x510147BC thumb
int sceKernelCpuEnableInterrupts(int flags);

sceKernelCpuSuspendIntr

Version offset mode
3.60 0x51014838 thumb
int sceKernelCpuSuspendIntr(int *addr);

sceKernelCpuResumeIntr

Version offset mode
3.60 0x51014864 thumb
int sceKernelCpuResumeIntr(int *addr, int prev_state);

sceKernelCpuUnrestrictedMemcpy

Version offset mode
3.60 0x51014BDC thumb
int sceKernelCpuUnrestrictedMemcpy(void *dst, const void *src, SceSize len);

vaddr_to_paddr_with_mode

Version offset mode
3.60 0x51014E3C thumb

same to sysmem 3.60 sub_81023308

int vaddr_to_paddr_with_mode(int mode, int a2, const void *VA, int *pPA, int a5);

sceKernelMMUVAtoPAWithMode

Version offset mode
3.60 0x510155F4 thumb
int sceKernelMMUVAtoPAWithMode(int mode, const void *VA, unsigned int *pPA);

SceSblSmschedProxy

SceSblSmschedProxy_module_start

Version offset mode
3.60 0x51015D10 thumb
int SceSblSmschedProxy_module_start(SceSize args, void *argp);

sceSblSmSchedProxyInitialize

Version offset mode
3.60 0x51015DD0 thumb
int sceSblSmSchedProxyInitialize(void);

sceSblSmSchedProxyWait

Version offset mode
3.60 0x51015FEC thumb
int sceSblSmSchedProxyWait(SceSmSchedRequestId req_id, status_handler *result);

sceSblSmSchedProxyGetStatus

Version offset mode
3.60 0x51016150 thumb
int sceSblSmSchedProxyGetStatus(SceSmSchedRequestId req_id, status_handler *status);

SceSblAuthMgr

sceSblAuthMgrOpen

Version offset mode
3.60 0x51016CF8 thumb
int sceSblAuthMgrOpen(int *ctx);

sceSblAuthMgrClose

Version offset mode
3.60 0x51016D48 thumb
int sceSblAuthMgrClose(int ctx);

sceSblAuthMgrAuthHeader

Version offset mode
3.60 0x51016D68 thumb
int sceSblAuthMgrAuthHeader(int ctx, void *pSelfHeader, SceSize SelfHeaderSize, SceSblSmCommContext130 *ctx130);

sceSblAuthMgrSetupAuthSegment

Version offset mode
3.60 0x51016E58 thumb
int sceSblAuthMgrSetupAuthSegment(int ctx,int segment_number);

sceSblAuthMgrAuthSegment

Version offset mode
3.60 0x51016E94 thumb
int sceSblAuthMgrAuthSegment(int ctx, void *buffer, SceSize len);

SceQafMgrForDriver

sceSblQafMgrIsAllowHost0Access

Version offset mode
3.60 0x51016FE0 thumb
int sceSblQafMgrIsAllowHost0Access(void);

SceSblACMgrForDriver

sceSblACMgrIsDevelopmentMode

Version offset mode
3.60 0x510170C8 thumb
int sceSblACMgrIsDevelopmentMode(void);

SceSblAIMgrForDriver

sceSblAimgrIsGenuineVITA

Version offset mode
3.60 0x51017248 thumb
int sceSblAimgrIsGenuineVITA(void);

SceKernelModulemgr

get_module_object

Version offset mode
3.60 0x51017648 thumb
SceModuleObject *get_module_object(SceUID modid);

initialize_module_class

Version offset mode
3.60 0x51017680 thumb

sceKernelLoadModule

Version offset mode
3.60 0x51017930 thumb
SceUID sceKernelLoadModule(const char *path, int flags, void *option);

sceKernelLoadModuleForPidInternal

Version offset mode
3.60 0x51017830 thumb

don't have flags check

SceUID sceKernelLoadModuleForPidInternal(SceUID pid, const char *path, int flags, void *option);

sceKernelStartModule

Version offset mode
3.60 0x51017BB0 thumb
int sceKernelStartModule(SceUID modid, SceSize args, void *argp, int flags, void *option, int *status);

sceKernelStartModuleForPidInternal

Version offset mode
3.60 0x510179D8 thumb

don't have flags check

int sceKernelStartModuleForPidInternal(SceUID pid, SceUID modid, SceSize args, void *argp, int flags, void *option, int *status);

get_module_bootstart

Version offset mode
3.60 0x51017BE4 thumb
int get_module_bootstart(SceUID modid, void *entry);

SceSdif

sceSdifGetSdContextGlobal

Version offset mode
3.60 0x5101A9F4 thumb
void *sceSdifGetSdContextGlobal(int type);

sceSdifInitializeMmcDevice

Version offset mode
3.60 0x5101D7D0 thumb
int sceSdifInitializeMmcDevice(int sd_ctx_index, void **result);

sceSdifInitializeSdDevice

Version offset mode
3.60 0x5101D820 thumb
int sceSdifInitializeSdDevice(int sd_ctx_index, void **result);

sceSdifReadSectorMmc

Version offset mode
3.60 0x5101C5C8 thumb
int sceSdifReadSectorMmc(void *part_ctx, SceSize sector_pos, void *data, SceSize sector_num);

sceSdifReadSectorSd

Version offset mode
3.60 0x5101E670 thumb
int sceSdifReadSectorSd(void *part_ctx, SceSize sector_pos, void *data, SceSize sector_num);

SceKernelUtilsForDriver

sceZlibGetInfo

Version offset mode
3.60 0x510213B4 thumb
int sceZlibGetInfo(const void *src, unsigned char *cmf, unsigned char *flg, unsigned int *dictid, const void **data);

sceDeflateDecompress

Version offset mode
3.60 0x51021488 thumb
int sceDeflateDecompress(void *dst, SceSize dst_size, const void *src, const void **next);