Changes

1,130 bytes added ,  16:25, 3 February 2019
no edit summary
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)
 
|}
 
|}