SPL services

From Nintendo Switch Brew
Revision as of 21:42, 18 July 2017 by Hexkyz (talk | contribs)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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 Memory configuration.
5 HardwareType (0=Icosa, 1=Copper)
8 64bit DeviceId with byte7 clear.
11 Allow skipping RSA signatures on NRR.
13 Battery profile?

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.