Line 189:
Line 189:
| {{Yes}}
| {{Yes}}
|-
|-
β
|rowspan="2" | [[#Group E|E]]
+
|rowspan="3" | [[#Group E|E]]
|data-sort-value="1227541149"| [[#Nov 24 2008 15:39:09|Nov 24 2008 15:39:09]]
|data-sort-value="1227541149"| [[#Nov 24 2008 15:39:09|Nov 24 2008 15:39:09]]
β
|rowspan="2" {{No}}
+
|rowspan="3" {{No}}
β
|rowspan="2" {{Yes}}
+
|rowspan="3" {{Yes}}
β
|rowspan="2" {{Yes}}
+
|rowspan="3" {{Yes}}
β
|rowspan="2" {{Partial}}
+
|rowspan="3" {{Partial}}
β
|rowspan="2" {{Partial}}
+
|rowspan="3" {{Partial}}
β
|rowspan="2" {{Partial}}
+
|rowspan="3" {{Partial}}
β
|rowspan="2" {{Yes}}
+
|rowspan="3" {{Yes}}
β
|rowspan="2" {{Yes}}
+
|rowspan="3" {{Yes}}
β
|rowspan="2" {{Yes}}
+
|rowspan="3" {{Yes}}
β
|rowspan="2" {{Yes}}
+
|rowspan="3" {{Yes}}
β
|rowspan="2" {{Yes}}
+
|rowspan="3" {{Yes}}
| 0x79
| 0x79
| 0x42
| 0x42
Line 207:
Line 207:
|-
|-
|data-sort-value="1244015349"| [[#Jun 3 2009 07:49:09|Jun 3 2009 07:49:09]]
|data-sort-value="1244015349"| [[#Jun 3 2009 07:49:09|Jun 3 2009 07:49:09]]
β
| 0x79
+
|rowspan="2"| 0x79
β
| 0x45
+
|rowspan="2"| 0x45
+
| {{Yes}}
+
|-
+
|data-sort-value="1330353596"| [[#Feb 27 2012 14:39:56|Feb 27 2012 14:39:56]]
| {{Yes}}
| {{Yes}}
|}
|}
Line 772:
Line 775:
The code that checks H0/H1/H2 hashes was moved into the kernel, using [[IOS/Syscalls|syscall]] 0x77 (IOSC_CheckDiHashes). H3 hashes are still present. It's not clear if the actual hashing behavior changed{{check}}.
The code that checks H0/H1/H2 hashes was moved into the kernel, using [[IOS/Syscalls|syscall]] 0x77 (IOSC_CheckDiHashes). H3 hashes are still present. It's not clear if the actual hashing behavior changed{{check}}.
β
Wrappers for ES IoctlVs 0x41 (at 20205ba4 in 2008 and 20205c58 in 2009) and 0x42 (at 20205b44 in 2008 and 20205bf8 in 2009) were added.
+
Wrappers for ES IoctlVs 0x41 (at 20205ba4 in 2008 and 20205c58 in 2009 and 2012) and 0x42 (at 20205b44 in 2008 and 20205bf8 in 2009 and 2012) were added.
Instructions for syscalls 0x77, 0x78, and 0x79 were added, though only 0x77 is used. Note that these are out of order; 0x77 is at the end of the list at 202042d0 while 0x78 and 0x79 are wedged between 0x5a and 0x5b at 202041e0 for some reason.
Instructions for syscalls 0x77, 0x78, and 0x79 were added, though only 0x77 is used. Note that these are out of order; 0x77 is at the end of the list at 202042d0 while 0x78 and 0x79 are wedged between 0x5a and 0x5b at 202041e0 for some reason.
Line 831:
Line 834:
* [[IOS56]] starting with v5405
* [[IOS56]] starting with v5405
* [[IOS57]] starting with v5661
* [[IOS57]] starting with v5661
+
* [[IOS58]] in all versions
+
* [[IOS59]] in all versions
* [[IOS61]] starting with v5405
* [[IOS61]] starting with v5405
* [[IOS70]] v6687 (v6912 is a stub)
* [[IOS70]] v6687 (v6912 is a stub)
Line 844:
Line 849:
! MD5
! MD5
| colspan="3"| 89f7dc21f07e2cae97c3a571b23d8abd
| colspan="3"| 89f7dc21f07e2cae97c3a571b23d8abd
+
|-
+
! Thing
+
! Virtual address
+
! Physical address
+
! Size
+
|-
+
| Code (and entry point)
+
| 20200000
+
| 139B0000
+
| 0x7FF0
+
|-
+
| Data (ES vars)
+
| 20208000
+
| 139B8000
+
| 0x140
+
|-
+
| BSS (zero'd)
+
| 20209000
+
| 139B9000
+
| 0x2BDC4
+
|-
+
| Stack
+
| 2022cdc4
+
| ?
+
| 0x8000
+
|-
+
| Protected heap
+
| 20209020
+
| ?
+
| 0x4000
+
|-
+
| Open heap
+
| 13600000
+
| ?
+
| 0x18000
+
|}
+
+
==== Feb 27 2012 14:39:56 ====
+
+
Used exclusively by [[IOS62]]. The wrappers for ES IoctlVs 0x41 and 0x42 were changed slightly, both requiring that the second parameter is not greater than 0x14 instead of 0x13. This results in differences at addresses 20205c16 (0x42) and 20205c76 (0x41) (file offsets 5d30 and 5d9e), in addition to the timestamp change.
+
+
{| class="wikitable"
+
! MD5
+
| colspan="3"| a92e0407a61fe6812724cf1ed4ccab68
|-
|-
! Thing
! Thing