Difference between revisions of "SKC"

From iQueBrew
Jump to navigation Jump to search
(add skcKeepAlive)
 
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
 
= Secure Kernel calls =
 
= Secure Kernel calls =
 
 
All secure kernel calls return a s32 error code in $v0. 0 means success, below zero means error.
 
All secure kernel calls return a s32 error code in $v0. 0 means success, below zero means error.
  
 
{| class=wikitable
 
{| class=wikitable
! Id || Name || In
+
! Id || Name || Arguments
 
|-
 
|-
| 0x0 || skcGetBBID || $a0=u32* out_bbid
+
| 0x0 || skGetId || $a0=u32* out_bbid
 
|-
 
|-
| 0x1 || skcPrepareCMDAndTik || ???
+
| 0x1 || skLaunchSetup || $a0=[[Ticket|BbTicket]]** ticket, $a1=???, $a2=u8* recrypt_list
 
|-
 
|-
| 0x2 || skcStartContent || $a0=address where decrypted content has been loaded
+
| 0x2 || skLaunch || $a0=u8* decrypted_content
 
|-
 
|-
| 0x3 || skcVerifyRecryptSys || $a0=address of recrypt.sys contents
+
| 0x3 || skRecryptListValid || $a0=u8* recrypt_list
 
|-
 
|-
| 0x4 || ??? || ???
+
| 0x4 || skRecryptBegin || $a0=???, $a1=???, $a2=???
 
|-
 
|-
| 0x5 || ??? || ???
+
| 0x5 || skRecryptData || $a0=u8* buf, $a1=u32 size
 
|-
 
|-
| 0x6 || ??? || ???
+
| 0x6 || skRecryptComputeState || $a0=u8* buf, $a1=u32 size
 
|-
 
|-
| 0x7 || ??? || ???
+
| 0x7 || skRecryptEnd || $a0=u8* buf
 
|-
 
|-
| 0x8 || skcECCSignSHA1Hash || $a0=u8* sha1hash, $a1=u8* out_signature
+
| 0x8 || skSignHash || $a0=u8* sha1hash, $a1=u8* out_signature
 
|-
 
|-
| 0x9 || skcVerifySignature || $a0=u8* sha1hash, $a1=u8* signature, $a2=certificate** certificate_chain, $a3=crl** crls?
+
| 0x9 || skVerifyHash || $a0=u8* sha1hash, $a1=u8* signature, $a2=certificate** certificate_chain, $a3=crl** crls?
 
|-
 
|-
| 0xA || ??? || ???
+
| 0xA || skGetConsumption || $a0=u8* out_size_buf, $a1=u8* out_buf
 
|-
 
|-
| 0xB || ??? || ???
+
| 0xB || skAdvanceTicketWindow || void
 
|-
 
|-
| 0xC || ??? || ???
+
| 0xC || skSetLimit || $a0=u16 limit_low?, $a1=u16 limit_high?
 
|-
 
|-
| 0xD || skcReboot || void
+
| 0xD || skExit || void
 
|-
 
|-
| 0xE || skcKeepAlive || void
+
| 0xE || skKeepAlive || void
 
|}
 
|}

Latest revision as of 23:58, 9 July 2018

Secure Kernel calls

All secure kernel calls return a s32 error code in $v0. 0 means success, below zero means error.

Id Name Arguments
0x0 skGetId $a0=u32* out_bbid
0x1 skLaunchSetup $a0=BbTicket** ticket, $a1=???, $a2=u8* recrypt_list
0x2 skLaunch $a0=u8* decrypted_content
0x3 skRecryptListValid $a0=u8* recrypt_list
0x4 skRecryptBegin $a0=???, $a1=???, $a2=???
0x5 skRecryptData $a0=u8* buf, $a1=u32 size
0x6 skRecryptComputeState $a0=u8* buf, $a1=u32 size
0x7 skRecryptEnd $a0=u8* buf
0x8 skSignHash $a0=u8* sha1hash, $a1=u8* out_signature
0x9 skVerifyHash $a0=u8* sha1hash, $a1=u8* signature, $a2=certificate** certificate_chain, $a3=crl** crls?
0xA skGetConsumption $a0=u8* out_size_buf, $a1=u8* out_buf
0xB skAdvanceTicketWindow void
0xC skSetLimit $a0=u16 limit_low?, $a1=u16 limit_high?
0xD skExit void
0xE skKeepAlive void