Editing Loaders
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 8: | Line 8: | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Loader !! Location !! Type | ! Loader !! Location !! Type !! Remarks | ||
|- | |- | ||
| bootldr || [[Flash]] || Boot Loader | | bootldr || [[Flash]] || Boot Loader || primary loader from chain of trust | ||
|- | |- | ||
| metldr || [[Flash]] || Meta Loader | | metldr || [[Flash]] || Meta Loader || aka asecure_loader. Loads other loaders | ||
|- | |- | ||
| appldr || [[Boot_Order#CoreOS_PKG_Filelisting|CoreOS]] || Application Loader | | appldr || [[Boot_Order#CoreOS_PKG_Filelisting|CoreOS]] || Application Loader || loads userspace [f]selfs e.g. [[VSH|vsh.self]], videoplayer_plugin.sprx, disc EBOOT.BINs, NPDRM EBOOT.BINs | ||
|- | |- | ||
| isoldr || [[Boot_Order#CoreOS_PKG_Filelisting|CoreOS]] || Isolation Loader | | isoldr || [[Boot_Order#CoreOS_PKG_Filelisting|CoreOS]] || Isolation Loader || loading [[Iso module|isolated SPU modules]] | ||
|- | |- | ||
| lv1ldr || [[Boot_Order#CoreOS_PKG_Filelisting|CoreOS]] || Hypervisor Loader | | lv1ldr || [[Boot_Order#CoreOS_PKG_Filelisting|CoreOS]] || Hypervisor Loader || loads [[lv1.self]] ([[Hypervisor_Reverse_Engineering|Hypervisor]]) | ||
|- | |- | ||
| lv2ldr || [[Boot_Order#CoreOS_PKG_Filelisting|CoreOS]] || Supervisor Loader | | lv2ldr || [[Boot_Order#CoreOS_PKG_Filelisting|CoreOS]] || Supervisor Loader || loads lv2_kernel.self (Supervisor kernel) | ||
|- | |- | ||
|} | |} | ||
Line 119: | Line 119: | ||
=== lv2ldr === | === lv2ldr === | ||
Used to verify and decrypt lv2 selfs (lv2_kernel.self, ps2_emu.self, ps2_gxemu.self, ps2_softemu.self, ps2_netemu.self) | Used to verify and decrypt lv2 selfs (lv2_kernel.self, ps2_emu.self, ps2_gxemu.self, ps2_softemu.self, ps2_netemu.self) | ||
==== LS Parameters layout ==== | ==== LS Parameters layout ==== | ||
Line 153: | Line 151: | ||
|- | |- | ||
|u8[16] || res2 || Unknown / Not used | |u8[16] || res2 || Unknown / Not used | ||
|} | |} | ||
Line 333: | Line 226: | ||
|u8 res2[16] || Unknown | |u8 res2[16] || Unknown | ||
|} | |} | ||
=== appldr === | |||
Used to verify and decrypt userland program/data segments (system libraries, vsh and its modules, games, edat and sdat files) | |||
==== Arguments ==== | |||
For authenticate_program_segment, firmware 0.8x | |||
{| class="wikitable" | |||
|- | |||
! Size !! Name !! Value | |||
|- | |||
|u64 || program_auth_id || subject program authority id | |||
|- | |||
|u64 || lpar_auth_id || subject logical partition authority id | |||
|- | |||
|u64 || self_header_addr || | |||
|- | |||
|u64 || program_segment_addr || | |||
|- | |||
|u64 || program_segment_index || | |||
|- | |||
|u64 || destination_addr || where to decrypt | |||
|- | |||
|u64 || capability_addr || capability flags will be placed to this addr | |||
|- | |||
|u64 || flag || | |||
|- | |||
|u64 || field40 || unknown/pad | |||
|- | |||
|u64 || field48 || 2 | |||
|} | |||
{| class="wikitable" | {| class="wikitable" |