]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/context/src/asm/ontop_ppc32_sysv_xcoff_gas.S
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / context / src / asm / ontop_ppc32_sysv_xcoff_gas.S
1 .globl .ontop_fcontext
2 .globl ontop_fcontext[DS]
3 .align 2
4 .csect ontop_fcontext[DS]
5 ontop_fcontext:
6 .long .ontop_fcontext
7 .ontop_fcontext:
8 # reserve space on stack
9 subi 1, 1, 92
10
11 stw 13, 0(1) # save R13
12 stw 14, 4(1) # save R14
13 stw 15, 8(1) # save R15
14 stw 16, 12(1) # save R16
15 stw 17, 16(1) # save R17
16 stw 18, 20(1) # save R18
17 stw 19, 24(1) # save R19
18 stw 20, 28(1) # save R20
19 stw 21, 32(1) # save R21
20 stw 22, 36(1) # save R22
21 stw 23, 40(1) # save R23
22 stw 24, 44(1) # save R24
23 stw 25, 48(1) # save R25
24 stw 26, 52(1) # save R26
25 stw 27, 56(1) # save R27
26 stw 28, 60(1) # save R28
27 stw 29, 64(1) # save R29
28 stw 30, 68(1) # save R30
29 stw 31, 72(1) # save R31
30 stw 3, 76(1) # save hidden
31
32 # save CR
33 mfcr 0
34 stw 0, 80(1)
35 # save LR
36 mflr 0
37 stw 0, 84(1)
38 # save LR as PC
39 stw 0, 88(1)
40
41 # store RSP (pointing to context-data) in R6
42 mr 7, 1
43
44 # restore RSP (pointing to context-data) from R4
45 mr 1, 4
46
47 lwz 13, 0(1) # restore R13
48 lwz 14, 4(1) # restore R14
49 lwz 15, 8(1) # restore R15
50 lwz 16, 12(1) # restore R16
51 lwz 17, 16(1) # restore R17
52 lwz 18, 20(1) # restore R18
53 lwz 19, 24(1) # restore R19
54 lwz 20, 28(1) # restore R20
55 lwz 21, 32(1) # restore R21
56 lwz 22, 36(1) # restore R22
57 lwz 23, 40(1) # restore R23
58 lwz 24, 44(1) # restore R24
59 lwz 25, 48(1) # restore R25
60 lwz 26, 52(1) # restore R26
61 lwz 27, 56(1) # restore R27
62 lwz 28, 60(1) # restore R28
63 lwz 29, 64(1) # restore R29
64 lwz 30, 68(1) # restore R30
65 lwz 31, 72(1) # restore R31
66 lwz 4, 76(1) # restore hidden
67
68 # restore CR
69 lwz 0, 80(1)
70 mtcr 0
71 # restore LR
72 lwz 0, 84(1)
73 mtlr 0
74 # ignore PC
75
76 # adjust stack
77 addi 1, 1, 92
78
79 # return transfer_t
80 stw 7, 0(3)
81 stw 5, 4(3)
82
83 # restore CTR
84 mtctr 6
85
86 # jump to context
87 bctr