Line 295: |
Line 295: |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | [[#FALCON_DMATRF_EXTBASE|FALCON_DMATRF_EXTBASE]] | + | | [[#FALCON_DMATRFBASE|FALCON_DMATRFBASE]] |
| | 0x54501110 | | | 0x54501110 |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | [[#FALCON_DMATRF_VOFF|FALCON_DMATRF_VOFF]] | + | | [[#FALCON_DMATRFMOFFS|FALCON_DMATRFMOFFS]] |
| | 0x54501114 | | | 0x54501114 |
| | 0x04 | | | 0x04 |
Line 307: |
Line 307: |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | [[#FALCON_DMATRF_POFF|FALCON_DMATRF_POFF]] | + | | [[#FALCON_DMATRFFBOFFS|FALCON_DMATRFFBOFFS]] |
| | 0x5450111C | | | 0x5450111C |
| | 0x04 | | | 0x04 |
Line 383: |
Line 383: |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | FALCON_CODE_INDEX | + | | [[#FALCON_IMEMC|FALCON_IMEMC]] |
| | 0x54501180 | | | 0x54501180 |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | FALCON_CODE | + | | [[#FALCON_IMEMD|FALCON_IMEMD]] |
| | 0x54501184 | | | 0x54501184 |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | FALCON_CODE_VIRT_ADDR | + | | [[#FALCON_IMEMT|FALCON_IMEMT]] |
| | 0x54501188 | | | 0x54501188 |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | FALCON_DATA_INDEX0 | + | | [[#FALCON_DMEMC0|FALCON_DMEMC0]] |
| | 0x545011C0 | | | 0x545011C0 |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | FALCON_DATA0 | + | | [[#FALCON_DMEMD0|FALCON_DMEMD0]] |
| | 0x545011C4 | | | 0x545011C4 |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | FALCON_DATA_INDEX1 | + | | FALCON_DMEMC1 |
| | 0x545011C8 | | | 0x545011C8 |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | FALCON_DATA1 | + | | FALCON_DMEMD1 |
| | 0x545011CC | | | 0x545011CC |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | FALCON_DATA_INDEX2 | + | | FALCON_DMEMC2 |
| | 0x545011D0 | | | 0x545011D0 |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | FALCON_DATA2 | + | | FALCON_DMEMD2 |
| | 0x545011D4 | | | 0x545011D4 |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | FALCON_DATA_INDEX3 | + | | FALCON_DMEMC3 |
| | 0x545011D8 | | | 0x545011D8 |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | FALCON_DATA3 | + | | FALCON_DMEMD3 |
| | 0x545011DC | | | 0x545011DC |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | FALCON_DATA_INDEX4 | + | | FALCON_DMEMC4 |
| | 0x545011E0 | | | 0x545011E0 |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | FALCON_DATA4 | + | | FALCON_DMEMD4 |
| | 0x545011E4 | | | 0x545011E4 |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | FALCON_DATA_INDEX5 | + | | FALCON_DMEMC5 |
| | 0x545011E8 | | | 0x545011E8 |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | FALCON_DATA5 | + | | FALCON_DMEMD5 |
| | 0x545011EC | | | 0x545011EC |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | FALCON_DATA_INDEX6 | + | | FALCON_DMEMC6 |
| | 0x545011F0 | | | 0x545011F0 |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | FALCON_DATA6 | + | | FALCON_DMEMD6 |
| | 0x545011F4 | | | 0x545011F4 |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | FALCON_DATA_INDEX7 | + | | FALCON_DMEMC7 |
| | 0x545011F8 | | | 0x545011F8 |
| | 0x04 | | | 0x04 |
| |- | | |- |
− | | FALCON_DATA7 | + | | FALCON_DMEMD7 |
| | 0x545011FC | | | 0x545011FC |
| | 0x04 | | | 0x04 |
Line 1,372: |
Line 1,372: |
| |- | | |- |
| | 6 | | | 6 |
− | | FALCON_CPUCTL_STARTCPU_SECURE | + | | 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_DMATRF_EXTBASE === | + | === FALCON_DMATRFBASE === |
− | Base of the external memory buffer. | + | Base address of the external memory buffer, shifted right by 8. |
| | | |
− | The base of the transfer is calculated by adding [[#FALCON_DMATRF_POFF]] to the base. | + | The current transfer address is calculated by adding [[#FALCON_DMATRFFBOFFS]] to the base. |
| | | |
− | === FALCON_DMATRF_VOFF === | + | === 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_DMATRF_POFF ===
| |
− | For transfers to IMEM: the destination physical 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_PRIV_DEBUG | + | | 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) |
| |} | | |} |
| | | |