1
2 #include <asm/ppc_asm.h>
3 #include <asm/asm-compat.h>
4
5
6 _GLOBAL(xmon_mfspr)
7 PPC_LL r5, .Lmfspr_table@got(r2)
8 b xmon_mxspr
9
10
11 _GLOBAL(xmon_mtspr)
12 PPC_LL r5, .Lmtspr_table@got(r2)
13 b xmon_mxspr
14
15
16
17
18
19
20 xmon_mxspr:
21
22
23
24
25
26
27 rlwinm r3, r3, 3, 0x3ff << 3
28 add r5, r5, r3
29 mtctr r5
30 mr r3, r4
31 bctr
32
33 .Lmfspr_table:
34 spr = 0
35 .rept 1024
36 mfspr r3, spr
37 blr
38 spr = spr + 1
39 .endr
40
41 .Lmtspr_table:
42 spr = 0
43 .rept 1024
44 mtspr spr, r4
45 blr
46 spr = spr + 1
47 .endr