NSKBL

NSKBL is a program that performs emmc setup, base kernel module loading, etc. during PSVita boot.

Module
The non-secure kernel bootloader contains an embedded and likely stripped version of SceSysmem, SceKernelModulemgr, SceSblSmschedProxy, SceExcpmgr, SceKernelIntrMgr, SceSblAuthMgr, SceProcessmgr (maybe), SceSdif, SceIofilemgr (Simple version?), and some other core drivers.

How to debug NSKBL
NSKBL reads from sd0: instead, if a read error(?) occurs in os0: during PSVita startup.

But, in order to generate os0: read errors, os0: must be damaged in some way, so there must be a way to physically recover vita.

sceKblPutcharForKernel
In 3.60 this function is at 0x510172BD

sceKblPrintfForKernel
In 3.60 this function is at 0x510137A9

SceKblForKernel_0x161D6FCC
Similar to SceKblForKernel_0x1DB28F02

In 3.60 this function is at 0x510123DD

SceKblForKernel_0x1DB28F02
Maybe call a thread related function, and if it fails, do a panic call.

In 3.60 this function is at 0x510123A1.

SceKblForKernel_0x261F2747
Related to initialization?

In 3.60 this function is at 0x51001321.

SceKblForKernel_0x314AA770
same to SceSysrootForKernel_AE55B7CC

In 3.60 this function is at 0x510124FD.

sceKblIsCEXForKernel
In 3.60 this function is at 0x510171B5.

sceKblIsCEXJpFatForKernel
In 3.60 this function is at 0x51017175.

sceKblIsDEXForKernel
In 3.60 this function is at 0x51017159.

sceKblIsToolForKernel
In 3.60 this function is at 0x51017139.

sceKblIsTestForKernel
In 3.60 this function is at 0x5101711D.

sceKblLoadModuleForKernel
In 3.60 this function is at 0x51001551.

sceKblStartModuleForKernel
In 3.60 this function is at 0x51001571

sceKblPrintfLevelForKernel
similar to sceKernelPrintfLevelForDriver.

In 3.60 this function is at 0x51013841.

SceKblForKernel_0x79241ACF
Related to initialization?

In 3.60 this function is at 0x51001345.

SceKblForKernel_0x807B4437
same to SceSysrootForKernel_8E4B61F1

In 3.60 this function is at 0x510124E5.

sceKblIsVITAForKernel
In 3.60 this function is at 0x51017299.

sceKblIsDolceForKernel
In 3.60 this function is at 0x510172A1.

sceKblIsGenuineDolceForKernel
In 3.60 this function is at 0x510171E5.

SceKblForKernel_0x9B868276
return value is ptr?

In 3.60 this function is at 0x51013765.

SceKblForKernel_0x9F4F3F98 (set some state?)
set some state?

related to sceKblStartModuleForKernel

In 3.60 this function is at 0x51001561.

sceKblGetCpuIdForKernel
In 3.60 this function is at 0x510147C9.

SceKblForKernel_0xC011935A
get some info?

In 3.60 this function is at 0x51013921.

SceKblForKernel_0xC7B77991
?same to sceKernelSysrootIofilemgrStartForKernel?

In 3.60 this function is at 0x5101297D.

sceKblCheckDipswForKernel
In 3.60 this function is at 0x51015851.

sceKblIsAllowKernelDebugForKernel
same to sceQafMgrIsAllowKernelDebugForDriver

In 3.60 this function is at 0x51016FD1

sceKblGetHardwareFlagsForKernel
get some device flags function

In 3.60 this function is at 0x510128AD

sceKblCpuSwitchInterruptsForKernel
In 3.60 this function is at 0x51003554.

sceKblInitDeviceForKernel
some device init function

In 3.60 this function is at 0x5100124D.