|
|
1.1 root 1: /*
2: * magnum user level lock code
3: */
4:
5: #define LL(base, rt) WORD $((060<<26)|((base)<<21)|((rt)<<16))
6: #define SC(base, rt) WORD $((070<<26)|((base)<<21)|((rt)<<16))
7: #define NOOP WORD $0x27
8: #define COP3 WORD $(023<<26)
9:
10: TEXT C_3ktas(SB),$0
11: MOVW R1, R21
12: btas:
13: MOVW R21, R1
14: MOVB R0, 1(R1)
15: NOOP
16: COP3
17: BLTZ R1, btas
18: RET
19:
20: TEXT C_4ktas(SB), $0
21: MOVW R1, R2 /* address of key */
22: tas1:
23: MOVW $1, R3
24: LL(2, 1)
25: NOOP
26: SC(2, 3)
27: NOOP
28: BEQ R3, tas1
29: RET
30:
31: TEXT C_fcr0(SB), $0
32: MOVW FCR0, R1
33: RET
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.