Today i have nothing more to do, so a lot more of nids. I have finally found the name of the function that executes homebrew.
LoadCoreForKernel:
0x31df42bf - sceKernelLoadExecVSHMs1
This function is the one that the vsh uses to execute the update from the memory stick.
0x28d0d249 - sceKernelLoadExecVSHMs2
This function is the one that the vsh uses to execute the games/homebrew from the memory stick.
0x70901231 - sceKernelLoadExecVSHMs3
This function... seems that is never called :S
All of them share the same structure:
A first parameter indicating the path of the program to execute, and a second parameter, that is a pointer to a SceKernelLoadExecVSHParam struct, which is like a standar SceKernelLoadExecParam with some extra fields that specifiy the parameters for vshmain at the return.
And now from sceVshBridge, the equivalents to these functions and some others:
0x04aec74c - vshKernelLoadExecVSHDiscDebug
0xb7c46dca - vshKernelLoadExecVSHDiscUpdater
0x68be3316 - vshKernelLoadExecBufferVSHUsbWlanDebug
0xf35bfb7d - vshKernelLoadExecVSHMs1
0x97fb006f - vshKernelLoadExecVSHMs2
0x029ef6c9 - vshKernelLoadExecVSHMs3
As a curiosity, the name of the equivalent of sceKernelLoadExecVSHDisc (sceVshBridge_F4873F4D) is not called vshKernelLoadExecVSHDisc :S It still has no name.
All of those functions are available in all firmwares (at least from 1.00-2.50), except vshKernelLoadExecVSHDiscDebug which is not available in 1.00
Well, if someone with access to the svn want to update the libdoc and the sdk. The nids are not safe in my computer ;)
groepaz wrote:interisting....could be useful for pspinside (if i ever get my lazy ass up again and work on it :=P)
I love that program. The only problem it has is that a lot of elf's cannot be loaded... Probably because they are statically loaded to some address where pspinside is also loaded. Maybe a fix for this could be to put the code in a kernel prx, with a simple bootloaderelf that load the prx, and is then unloaded, like psplink does.