TSEC: Difference between revisions
No edit summary |
|||
Line 475: | Line 475: | ||
| 0x04 | | 0x04 | ||
|- | |- | ||
| TSEC_SCP_UNK5 | | [[#TSEC_SCP_UNK5|TSEC_SCP_UNK5]] | ||
| 0x54501430 | | 0x54501430 | ||
| 0x04 | | 0x04 | ||
Line 497: | Line 497: | ||
| TSEC_SCP_UNK10 | | TSEC_SCP_UNK10 | ||
| 0x54501490 | | 0x54501490 | ||
| 0x04 | |||
|- | |||
| [[#TSEC_SCP_UNK11|TSEC_SCP_UNK11]] | |||
| 0x54501498 | |||
| 0x04 | | 0x04 | ||
|- | |- | ||
Line 1,161: | Line 1,165: | ||
| 5 | | 5 | ||
| FALCON_CPUCTL_STOPPED | | FALCON_CPUCTL_STOPPED | ||
|- | |||
| 6 | |||
| FALCON_CPUCTL_SCP_UNK | |||
|} | |} | ||
Line 1,273: | Line 1,280: | ||
| TSEC_SCP_CTL_PKEY_LOADED | | TSEC_SCP_CTL_PKEY_LOADED | ||
|} | |} | ||
=== TSEC_SCP_UNK5 === | |||
{| class="wikitable" border="1" | |||
! Bits | |||
! Description | |||
|- | |||
| 0-7 | |||
| Crypto destination register | |||
|- | |||
| 8-15 | |||
| Crypto source register | |||
|- | |||
| 16-31 | |||
| Crypto operation | |||
|} | |||
Contains information on the last crypto instruction executed. | |||
=== TSEC_SCP_UNK11 === | |||
{| class="wikitable" border="1" | |||
! Bits | |||
! Description | |||
|- | |||
| 24 | |||
| Set by fuc5 cchmod instruction | |||
|} | |||
Contains information on crypto register's permissions. | |||
=== TSEC_TFBIF_MCCIF_FIFOCTRL === | === TSEC_TFBIF_MCCIF_FIFOCTRL === | ||
Line 1,891: | Line 1,926: | ||
load_keygen(key_buf, key_version, is_blob_dec); | load_keygen(key_buf, key_version, is_blob_dec); | ||
// | // fuc5 crypt cchmod instruction | ||
// | // Resets the ACL bits | ||
cchmod( | cchmod(); | ||
// Clear all crypto registers | // Clear all crypto registers | ||
cxor(c0, c0); | cxor(c0, c0); | ||
cxor(c1, c1); | cxor(c1, c1); | ||
Line 2,454: | Line 2,489: | ||
cxor(c7, c7); | cxor(c7, c7); | ||
// | // fuc5 crypt cchmod instruction | ||
// | // Resets the ACL bits | ||
cchmod( | cchmod(); | ||
// Jump to Payload | // Jump to Payload | ||
Line 2,628: | Line 2,663: | ||
=== Unknown Instructions === | === Unknown Instructions === | ||
<code>00000000: f5 3c | <code>00000000: f5 3c 00 e0 cchmod</code> - resets all crypto register's permissions. | ||
<code>00000000: f5 3c XY a8 c_unk0 $cY $cX</code> - unknown crypto operation. | <code>00000000: f5 3c XY a8 c_unk0 $cY $cX</code> - unknown crypto operation. |