NSKBL Subroutines

From Vita Development Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

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

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