1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
#ifdef BBPLAYER
#include "ultra64/asm.h"
#include "ultra64/regdef.h"
#include "ultra64/bcp.h"
.text
#define SKC(name, num) \
LEAF(name) ;\
.set noreorder ;\
/* Load syscall number into v0 */ ;\
li v0, num ;\
/* Read from MI_SECURE_EXCEPTION_REG to */ ;\
/* transfer control to the Secure Kernel */ ;\
li t0, PHYS_TO_K1(MI_SECURE_EXCEPTION_REG) ;\
lw t1, (t0) ;\
nop ;\
jr ra ;\
nop ;\
.set reorder ;\
END(name)
SKC(skGetId, 0)
SKC(skLaunchSetup, 1)
SKC(skLaunch, 2)
SKC(skRecryptListValid, 3)
SKC(skRecryptBegin, 4)
SKC(skRecryptData, 5)
SKC(skRecryptComputeState, 6)
SKC(skRecryptEnd, 7)
SKC(skSignHash, 8)
SKC(skVerifyHash, 9)
SKC(skGetConsumption, 10)
SKC(skAdvanceTicketWindow, 11)
SKC(skSetLimit, 12)
SKC(skExit, 13)
SKC(skKeepAlive, 14)
/* These are not valid for a retail Secure Kernel, their usage pattern is unknown. */
SKC(skGetRandomKeyData, 15)
SKC(skDumpVirage, 16)
SKC(skTest2, 17)
SKC(skTest3, 18)
SKC(skResetWindow, 19)
SKC(skValidateRls, 20)
#endif
|