TSEC: Difference between revisions
No edit summary |
No edit summary |
||
Line 295: | Line 295: | ||
| 0x04 | | 0x04 | ||
|- | |- | ||
| [[# | | [[#FALCON_DMATRFBASE|FALCON_DMATRFBASE]] | ||
| 0x54501110 | | 0x54501110 | ||
| 0x04 | | 0x04 | ||
|- | |- | ||
| [[# | | [[#FALCON_DMATRFMOFFS|FALCON_DMATRFMOFFS]] | ||
| 0x54501114 | | 0x54501114 | ||
| 0x04 | | 0x04 | ||
Line 307: | Line 307: | ||
| 0x04 | | 0x04 | ||
|- | |- | ||
| [[# | | [[#FALCON_DMATRFFBOFFS|FALCON_DMATRFFBOFFS]] | ||
| 0x5450111C | | 0x5450111C | ||
| 0x04 | | 0x04 | ||
Line 383: | Line 383: | ||
| 0x04 | | 0x04 | ||
|- | |- | ||
| | | [[#FALCON_IMEMC|FALCON_IMEMC]] | ||
| 0x54501180 | | 0x54501180 | ||
| 0x04 | | 0x04 | ||
|- | |- | ||
| | | [[#FALCON_IMEMD|FALCON_IMEMD]] | ||
| 0x54501184 | | 0x54501184 | ||
| 0x04 | | 0x04 | ||
|- | |- | ||
| | | [[#FALCON_IMEMT|FALCON_IMEMT]] | ||
| 0x54501188 | | 0x54501188 | ||
| 0x04 | | 0x04 | ||
|- | |- | ||
| | | [[#FALCON_DMEMC0|FALCON_DMEMC0]] | ||
| 0x545011C0 | | 0x545011C0 | ||
| 0x04 | | 0x04 | ||
|- | |- | ||
| | | [[#FALCON_DMEMD0|FALCON_DMEMD0]] | ||
| 0x545011C4 | | 0x545011C4 | ||
| 0x04 | | 0x04 | ||
|- | |- | ||
| | | FALCON_DMEMC1 | ||
| 0x545011C8 | | 0x545011C8 | ||
| 0x04 | | 0x04 | ||
|- | |- | ||
| | | FALCON_DMEMD1 | ||
| 0x545011CC | | 0x545011CC | ||
| 0x04 | | 0x04 | ||
|- | |- | ||
| | | FALCON_DMEMC2 | ||
| 0x545011D0 | | 0x545011D0 | ||
| 0x04 | | 0x04 | ||
|- | |- | ||
| | | FALCON_DMEMD2 | ||
| 0x545011D4 | | 0x545011D4 | ||
| 0x04 | | 0x04 | ||
|- | |- | ||
| | | FALCON_DMEMC3 | ||
| 0x545011D8 | | 0x545011D8 | ||
| 0x04 | | 0x04 | ||
|- | |- | ||
| | | FALCON_DMEMD3 | ||
| 0x545011DC | | 0x545011DC | ||
| 0x04 | | 0x04 | ||
|- | |- | ||
| | | FALCON_DMEMC4 | ||
| 0x545011E0 | | 0x545011E0 | ||
| 0x04 | | 0x04 | ||
|- | |- | ||
| | | FALCON_DMEMD4 | ||
| 0x545011E4 | | 0x545011E4 | ||
| 0x04 | | 0x04 | ||
|- | |- | ||
| | | FALCON_DMEMC5 | ||
| 0x545011E8 | | 0x545011E8 | ||
| 0x04 | | 0x04 | ||
|- | |- | ||
| | | FALCON_DMEMD5 | ||
| 0x545011EC | | 0x545011EC | ||
| 0x04 | | 0x04 | ||
|- | |- | ||
| | | FALCON_DMEMC6 | ||
| 0x545011F0 | | 0x545011F0 | ||
| 0x04 | | 0x04 | ||
|- | |- | ||
| | | FALCON_DMEMD6 | ||
| 0x545011F4 | | 0x545011F4 | ||
| 0x04 | | 0x04 | ||
|- | |- | ||
| | | FALCON_DMEMC7 | ||
| 0x545011F8 | | 0x545011F8 | ||
| 0x04 | | 0x04 | ||
|- | |- | ||
| | | FALCON_DMEMD7 | ||
| 0x545011FC | | 0x545011FC | ||
| 0x04 | | 0x04 | ||
Line 1,372: | Line 1,372: | ||
|- | |- | ||
| 6 | | 6 | ||
| | | FALCON_CPUCTL_CPUCTL_ALIAS_EN | ||
|} | |} | ||
Line 1,421: | Line 1,421: | ||
Used for configuring the Falcon's DMA engine. | Used for configuring the Falcon's DMA engine. | ||
=== | === FALCON_DMATRFBASE === | ||
Base of the external memory buffer. | Base address of the external memory buffer, shifted right by 8. | ||
The | The current transfer address is calculated by adding [[#FALCON_DMATRFFBOFFS]] to the base. | ||
=== | === FALCON_DMATRFMOFFS === | ||
For transfers to DMEM: the destination address. | For transfers to DMEM: the destination address. | ||
For transfers to IMEM: the destination virtual IMEM page. | For transfers to IMEM: the destination virtual IMEM page. | ||
=== FALCON_DMATRFCMD === | === FALCON_DMATRFCMD === | ||
Line 1,461: | Line 1,458: | ||
Used for configuring DMA transfers. | Used for configuring DMA transfers. | ||
=== FALCON_DMATRFFBOFFS === | |||
For transfers to IMEM: the destination physical IMEM page. | |||
=== FALCON_DMATRFSTAT === | === FALCON_DMATRFSTAT === | ||
Line 1,519: | Line 1,519: | ||
|- | |- | ||
| 27 | | 27 | ||
| | | FALCON_HWCFG2_HAS_IMCTL_DEBUG | ||
|- | |- | ||
| 28-29 | | 28-29 | ||
Line 1,570: | Line 1,570: | ||
=== FALCON_TRACEPC === | === FALCON_TRACEPC === | ||
Returns the PC of the last call or branch executed. | Returns the PC of the last call or branch executed. | ||
=== FALCON_IMEMC === | |||
{| class="wikitable" border="1" | |||
! Bits | |||
! Description | |||
|- | |||
| 2-7 | |||
| Offset in IMEM block to read/write | |||
|- | |||
| 8-15 | |||
| IMEM block to read/write | |||
|- | |||
| 24 | |||
| Write auto-increment | |||
|- | |||
| 25 | |||
| Read auto-increment | |||
|- | |||
| 28 | |||
| Mark uploaded code as secret | |||
|- | |||
| 29 | |||
| Secret code upload lockdown status (read-only) | |||
|- | |||
| 30 | |||
| Secret code upload failure status (read-only) | |||
|- | |||
| 31 | |||
| Secret code upload reset scrubber status (read-only) | |||
|} | |||
Used for configuring access to Falcon's DMEM. | |||
=== FALCON_IMEMD === | |||
Returns or takes the value for an IMEM read/write operation. | |||
=== FALCON_IMEMT === | |||
Returns or takes the virtual page index for an IMEM read/write operation. | |||
=== FALCON_DMEMC0 === | |||
{| class="wikitable" border="1" | |||
! Bits | |||
! Description | |||
|- | |||
| 2-7 | |||
| Offset in DMEM block to read/write | |||
|- | |||
| 8-15 | |||
| DMEM block to read/write | |||
|- | |||
| 24 | |||
| Write auto-increment | |||
|- | |||
| 25 | |||
| Read auto-increment | |||
|} | |||
Used for configuring access to Falcon's DMEM. | |||
=== FALCON_DMEMD0 === | |||
Returns or takes the value for a DMEM read/write operation. | |||
=== FALCON_ICD_CMD === | === FALCON_ICD_CMD === | ||
Line 2,080: | Line 2,141: | ||
|- | |- | ||
| 20 | | 20 | ||
| Wrong access level (during csigauth) | | Wrong access level (during csigauth in HS mode) | ||
|- | |- | ||
| 24 | | 24 | ||
| Forbidden instruction | | Forbidden instruction (during cchmod in NS mode) | ||
|} | |} | ||