Difference between revisions of "SPL services"

From Nintendo Switch Brew
Jump to navigation Jump to search
Line 56: Line 56:
 
! ConfigItem || Name
 
! ConfigItem || Name
 
|-
 
|-
| 2 || Memory configuration.
+
| 2 || MemoryConfiguration
 
|-
 
|-
 
| 5 || HardwareType (0=Icosa, 1=Copper)
 
| 5 || HardwareType (0=Icosa, 1=Copper)
 
|-
 
|-
| 8 || 64bit DeviceId with byte7 clear.
+
| 7 || IsRecoveryBoot
 
|-
 
|-
| 11 || Allow skipping RSA signatures on NRR.
+
| 8 || DeviceId (byte7 clear).
 
|-
 
|-
| 13 || Battery profile?
+
| 9 || BootReason
 +
|-
 +
| 11 || AllowSkippingNrrSignatures
 +
|-
 +
| 13 || BatteryProfile?
 
|}
 
|}
  

Revision as of 19:53, 18 July 2017

spl:

Cmd Name Notes
0 #GetConfig
1
2 #KeyGen0
3
4 Aes128Ctr
5 #SetConfig
7
9
10
11 #GetDevunitFlag
12 KeyGen1
13 #EncDec0
14 KeyGen2
15
16
17 EncDec1
18 EncDec2
19
20
21
22
23 GetSplWaitEvent

GetConfig

Takes an input word (ConfigItem), and returns a u64 with the config params.

ConfigItem Name
2 MemoryConfiguration
5 HardwareType (0=Icosa, 1=Copper)
7 IsRecoveryBoot
8 DeviceId (byte7 clear).
9 BootReason
11 AllowSkippingNrrSignatures
13 BatteryProfile?

Output from this when used by NIM must match the set:cal DeviceId with byte7 cleared, otherwise NIM will panic.

RO checks id11, if set then skipping NRR rsa signatures is allowed.

KeyGen0

Takes 16-bytes as input and two u32s. Outputs random-looking 16-bytes.

Same input gives same output. Output changes when system is rebooted.

SetConfig

Takes two input words, a ConfigItem and the value to set.

ConfigItem Name
13 Battery profile?

GetDevunitFlag

No input params.

Returns an u8 flag for whether the system is devunit. Output flag is 0 on retail.

EncDec0

Last SPL cmd used by SSL-sysmodule for TLS client-privk.