SVC: Difference between revisions
No edit summary |
|||
Line 495: | Line 495: | ||
| | | | ||
| No | | No | ||
| ? | | CreateProcess(Handle* HandleInfo_out?, struct CreateProcessInfo, u32 code_ptr, u32 ro_ptr, u32 data_ptr) | ||
|- | |- | ||
| 0x74 | | 0x74 | ||
Line 505: | Line 505: | ||
| | | | ||
| No | | No | ||
| ? | | SetupProcess(Handle* KProcess_out?, Handle HandleInfo_in?, u32 arm11kernelcaps_ptr, u32 arm11kernelcaps_num) | ||
|- | |- | ||
| 0x76 | | 0x76 | ||
Line 859: | Line 859: | ||
| This writes the total number of processes which were directly launched by the kernel, to out. For the NATIVE_FIRM/SAFE_MODE_FIRM ARM11 kernel, this is normally 5, for processes sm, fs, pm, loader, and pxi. | | This writes the total number of processes which were directly launched by the kernel, to out. For the NATIVE_FIRM/SAFE_MODE_FIRM ARM11 kernel, this is normally 5, for processes sm, fs, pm, loader, and pxi. | ||
|} | |} | ||
= CreateProcess = | |||
struct CreateProcessInfo { | |||
// All addresses are given virtual for the process to be created. | |||
// All sizes/offsets are in given in 0x1000-pages. | |||
u8 codeset_name[8]; | |||
u32 text_addr; | |||
u32 text_size; | |||
u32 ro_addr; | |||
u32 ro_size; | |||
u32 data_addr; | |||
u32 data_size; | |||
u32 ro_offset; | |||
u32 data_offset; | |||
u32 bss_size+data_size; | |||
u8 program_id[8]; | |||
} | |||
= Kernel error-codes = | = Kernel error-codes = |