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 =