NSKBL: Difference between revisions
Line 386: | Line 386: | ||
</source> | </source> | ||
=== | === sceKblIsAllowKernelDebugForKernel === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Line 394: | Line 394: | ||
|} | |} | ||
same to sceQafMgrIsAllowKernelDebugForDriver | |||
In 3.60 this function is at 0x51016FD1 | In 3.60 this function is at 0x51016FD1 | ||
Line 402: | Line 400: | ||
<source lang="C"> | <source lang="C"> | ||
int | int sceKblIsAllowKernelDebugForKernel(void); | ||
</source> | </source> |
Revision as of 09:48, 19 November 2019
NSBL is a program that performs emmc setup, base kernel module loading, etc. when vita boot
Module
The non-secure kernel bootloader contains an embedded and likely stripped version of SceSysmem, SceKernelModulemgr, SceSblSmschedProxy, SceExcpmgr, SceKernelIntrMgr, SceProcessmgr (maybe), SceSdif, SceIofilemgr (Simple version?), and some other core drivers.
How to debug NSBL
NSBL reads from sd0: instead, if a read error(?) Occurs in os0: during vita 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.
Libraries
Known NIDs
Version | Name | World | Visibility | NID |
---|---|---|---|---|
3.60 | SceKblForKernel | Non-secure | Kernel | 0xD0FC2991 |
SceKblForKernel
SceKblForKernel_0x08E9FAEB
Version | NID |
---|---|
3.60 | 0x08E9FAEB |
In 3.60 this function is at 0x510172BD
SceKblForKernel_0x13A5ABEF
Version | NID |
---|---|
3.60 | 0x13A5ABEF |
In 3.60 this function is at 0x510137A9
SceKblForKernel_0x161D6FCC
Version | NID |
---|---|
3.60 | 0x161D6FCC |
In 3.60 this function is at 0x510123DD
SceKblForKernel_0x1DB28F02
Version | NID |
---|---|
3.60 | 0x1DB28F02 |
In 3.60 this function is at 0x510123A1
SceKblForKernel_0x261F2747
Version | NID |
---|---|
3.60 | 0x261F2747 |
Related to initialization?
In 3.60 this function is at 0x51001321
int SceKblForKernel_0x261F2747(void);
SceKblForKernel_0x314AA770
Version | NID |
---|---|
3.60 | 0x314AA770 |
In 3.60 this function is at 0x510124FD
sceKblIsDEXForKernel
Version | NID |
---|---|
3.60 | 0x5945F065 |
In 3.60 this function is at 0x51017159
sceKblLoadModuleForKernel
Version | NID |
---|---|
3.60 | 0x6D7A1F18 |
In 3.60 this function is at 0x51001551
typedef struct SceModuleLoadList { const char *filename; } __attribute__((packed)) SceModuleLoadList; int sceKblLoadModuleForKernel(const SceModuleLoadList *list, SceUID *uid, int count, int some_flag);
SceKblForKernel_0x752E7EEC
Version | NID |
---|---|
3.60 | 0x752E7EEC |
Debug function, same to SceDebugForDriver_1A3F2AA4
In 3.60 this function is at 0x51013841
SceKblForKernel_0x79241ACF
Version | NID |
---|---|
3.60 | 0x79241ACF |
Related to initialization?
In 3.60 this function is at 0x51001345
int SceKblForKernel_0x79241ACF(void);
SceKblForKernel_0x807B4437
Version | NID |
---|---|
3.60 | 0x807B4437 |
In 3.60 this function is at 0x510124E5
sceKblIsVITAForKernel
Version | NID |
---|---|
3.60 | 0x838466E9 |
In 3.60 this function is at 0x51017299
int sceKblIsVITAForKernel(void);
sceKblIsCEXForKernel
Version | NID |
---|---|
3.60 | 0x8A416887 |
In 3.60 this function is at 0x510171B5
int sceKblIsCEXForKernel(void);
sceKblIsTestForKernel
Version | NID |
---|---|
3.60 | 0x943E7537 |
In 3.60 this function is at 0x5101711D
int sceKblIsTestForKernel(void);
sceKblStartModuleForKernel
Version | NID |
---|---|
3.60 | 0x9A92436E |
In 3.60 this function is at 0x51001571
int sceKblStartModuleForKernel(SceUID *uid_list, int count, SceSize args, void *argp);
SceKblForKernel_0x9B868276
Version | NID |
---|---|
3.60 | 0x9B868276 |
return value is ptr?
In 3.60 this function is at 0x51013765
int SceKblForKernel_9B868276(void);
SceKblForKernel_0x9F4F3F98 (set some state?)
Version | NID |
---|---|
3.60 | 0x9F4F3F98 |
set some state?
In 3.60 this function is at 0x51001561
int SceKblForKernel_9F4F3F98(void);
sceKblIsDolceForKernel
Version | NID |
---|---|
3.60 | 0xA7BD4417 |
In 3.60 this function is at 0x510172A1
int sceKblIsDolceForKernel(void);
sceKblGetCpuIdForKernel
Version | NID |
---|---|
3.60 | 0xB506A10E |
In 3.60 this function is at 0x510147C9
int sceKblGetCpuIdForKernel(void);
sceKblIsToolForKernel
Version | NID |
---|---|
3.60 | 0xB6C9ACF1 |
In 3.60 this function is at 0x51017139
int sceKblIsToolForKernel(void);
sceKblIsGenuineDolceForKernel
Version | NID |
---|---|
3.60 | 0xB6D00D6D |
In 3.60 this function is at 0x510171E5
int sceKblIsGenuineDolceForKernel(void);
SceKblForKernel_0xC011935A
Version | NID |
---|---|
3.60 | 0xC011935A |
get some info?
In 3.60 this function is at 0x51013921
int SceKblForKernel_C011935A(void);
sceKblIsCEXJpFatForKernel
Version | NID |
---|---|
3.60 | 0xC3DDDE15 |
In 3.60 this function is at 0x51017175
int sceKblIsCEXJpFatForKernel(void);
SceKblForKernel_0xC7B77991
Version | NID |
---|---|
3.60 | 0xC7B77991 |
In 3.60 this function is at 0x5101297D
sceKblCheckDipswForKernel
Version | NID |
---|---|
3.60 | 0xC8F4DE71 |
In 3.60 this function is at 0x51015851
int sceKblCheckDipswForKernel(int bit);
sceKblIsAllowKernelDebugForKernel
Version | NID |
---|---|
3.60 | 0xCE94F329 |
same to sceQafMgrIsAllowKernelDebugForDriver
In 3.60 this function is at 0x51016FD1
int sceKblIsAllowKernelDebugForKernel(void);
SceKblForKernel_0xD3A516D5
Version | NID |
---|---|
3.60 | 0xD3A516D5 |
get some device info function
In 3.60 this function is at 0x510128AD
typedef struct SceKblSomeSysrootInfo { uint32_t data[4]; } __attribute__((packed)) SceKblSomeSysrootInfo; int SceKblForKernel_D3A516D5(SceKblSomeSysrootInfo *some_flag);
sceKblCpuSwitchInterruptsForKernel
Version | NID |
---|---|
3.60 | 0xDDB3A1A8 |
In 3.60 this function is at 0x51003554
void sceKblCpuSwitchInterruptsForKernel(void);
SceKblForKernel_0xF7AF8690
Version | NID |
---|---|
3.60 | 0xF7AF8690 |
In 3.60 this function is at 0x5100124D