Changes

Jump to navigation Jump to search
30 bytes added ,  03:05, 28 February 2018
Line 779: Line 779:     
=== dmac::Operation ===
 
=== dmac::Operation ===
 +
 +
{| class="wikitable"
 +
! Firmware !! Address
 +
|-
 +
| 1.69 || 0x8061CE
 +
|}
 +
 
This function does the crypto.
 
This function does the crypto.
<pre>
+
 
arg0:     src_pa
+
* arg1: dst
arg1:     dst_pa
+
* arg2: src
arg2:     size
+
* arg3: size
arg3:     ??
+
* arg4: pkey_or_pslot
sp_arg0: iv/ctr? align? padding? Must be aligned to 4.
+
* arg5: iv
sp_arg4: ptr to {
+
* arg6: UNKNOWN
              u32 device_select; // 0=0xE0050000, 1=0xE0050080
+
* arg7: iv_size_words
              u32 unk;
+
* arg8: key_size_words
          }
+
* arg9: pointer to dmac_setup_t structure
</pre>
      
Returns 0x8000F016 if src/dst/padding is not aligned to 4.
 
Returns 0x8000F016 if src/dst/padding is not aligned to 4.
   −
It writes src_pa, dst_pa, size.
+
It uses bigmac to perform crypto operation. It overwrites IV in-place.
todo
      
=== main() ===
 
=== main() ===

Navigation menu