Hi, everybody.I have a question about IMPORT modules.
I found that in the xxx_driver.s,there would be IMPORT_START, IMPORT_FUNC macro to generate the stub function.
When i read the IMPORT_START and IMPORT_FUNC macro in "pspimport.s", i was puzzled.It seems these macroes set some data structs.But, how these code invoke the system call? I cant find the real function address ? Is there any wizardly mechanism in the PSP kernel to make these stubs work?
How to make system call ?
Thanks for your answer. ^.^adrahil wrote:Yeah, there's some sort of magic going on :)
The macro adds the import to .lib.stub, .rodata.scenid, ... sections, which basically give information to the PSP kernel about what functions to import into the application on loading...
i have another question.Can i get the prx file of system module? Like usb driver or display driver ...
I read the document < ModuleTutorialv1.pdf > and found that the module code is placed in *.prx . So i think there would be any prx file that hold the system call code. Im i right? pls dont laugh at me.
If you mount flash0: to the USB (the newer custom firmware versions will do this from the recovery menu or from the vsh if 3.71 M33), you can copy all the system prx's. However, then you need to use PRXdecrypter on them as they are encrypted and compressed. The latest version is 1.7. Just google for it.1073X wrote:Thanks for your answer. ^.^adrahil wrote:Yeah, there's some sort of magic going on :)
The macro adds the import to .lib.stub, .rodata.scenid, ... sections, which basically give information to the PSP kernel about what functions to import into the application on loading...
i have another question.Can i get the prx file of system module? Like usb driver or display driver ...
I read the document < ModuleTutorialv1.pdf > and found that the module code is placed in *.prx . So i think there would be any prx file that hold the system call code. Im i right? pls dont laugh at me.