NCCH/Extended Header: Difference between revisions
TimmSkiller (talk | contribs) Use separate rows for Flag1 and Flag2 to avoid confusion |
|||
| (One intermediate revision by one other user not shown) | |||
| Line 31: | Line 31: | ||
| <code>0x500</code> | | <code>0x500</code> | ||
| <code>0x100</code> | | <code>0x100</code> | ||
| NCCH | | NCCH header RSA-2048 modulus | ||
|- | |- | ||
| <code>0x600</code> | | <code>0x600</code> | ||
| Line 38: | Line 38: | ||
|} | |} | ||
The <code>AccessDesc</code> signature covers the NCCH | The <code>AccessDesc</code> signature covers the NCCH header modulus and second ACI. The <code>AccessDesc</code> public key is initialised by the boot ROM. | ||
When loading the exheader, [[FIRM|Process9]] compares the exheader data with the data in the <code>AccessDesc</code> (note that not everything is compared here). When these don't match, an error is returned. The Process9 code handling this validation was updated with [[6.0.0-11|v6.0]]; the only change in this function seems to be the check for the "Ideal processor" field. | When loading the exheader, [[FIRM|Process9]] compares the exheader data with the data in the <code>AccessDesc</code> (note that not everything is compared here). When these don't match, an error is returned. The Process9 code handling this validation was updated with [[6.0.0-11|v6.0]]; the only change in this function seems to be the check for the "Ideal processor" field. | ||
| Line 176: | Line 176: | ||
|- | |- | ||
| <code>0xC</code> | | <code>0xC</code> | ||
| <code> | | <code>0x1</code> | ||
| [[#Flag1|Flag1]] | | [[#Flag1|Flag1]] (implemented starting from [[8.0.0-18]]) | ||
|- | |||
| <code>0xD</code> | |||
| <code>0x1</code> | |||
| [[#Flag2|Flag2]] (implemented starting from [[8.0.0-18]]) | |||
|- | |- | ||
| <code>0xE</code> | | <code>0xE</code> | ||