Commit b471068 1 parent 6f00427 commit b471068 Copy full SHA for b471068
File tree 3 files changed +10
-6
lines changed
lib/context/src/context/asm
3 files changed +10
-6
lines changed Original file line number Diff line number Diff line change @@ -97,7 +97,7 @@ jump_fcontext:
97
97
# endif
98
98
#endif
99
99
# reserve space on stack
100
- subi %r1, %r1, 184
100
+ subi %r1, %r1, 192
101
101
102
102
#if _CALL_ELF != 2
103
103
std %r2, 0 (%r1) # save TOC
@@ -123,6 +123,7 @@ jump_fcontext:
123
123
#if _CALL_ELF != 2
124
124
std %r3, 152 (%r1) # save hidden
125
125
#endif
126
+ stfd %f31, 184 (%r1) # save F31
126
127
127
128
# save CR
128
129
mfcr %r0
@@ -166,6 +167,7 @@ jump_fcontext:
166
167
#if _CALL_ELF != 2
167
168
ld %r3, 152 (%r1) # restore hidden
168
169
#endif
170
+ lfd %f31, 184 (%r1) # restore F31
169
171
170
172
# restore CR
171
173
ld %r0, 160 (%r1)
@@ -180,7 +182,7 @@ jump_fcontext:
180
182
mtctr %r12
181
183
182
184
# adjust stack
183
- addi %r1, %r1, 184
185
+ addi %r1, %r1, 192
184
186
185
187
#if _CALL_ELF == 2
186
188
# copy transfer_t into transfer_fn arg registers
Original file line number Diff line number Diff line change @@ -105,7 +105,7 @@ make_fcontext:
105
105
106
106
# reserve space for context-data on context-stack
107
107
# including 64 byte of linkage + parameter area (R1 % 16 == 0)
108
- subi %r3, %r3, 248
108
+ subi %r3, %r3, 256
109
109
110
110
# third arg of make_fcontext() == address of context-function
111
111
# entry point (ELFv2) or descriptor (ELFv1)
@@ -123,7 +123,7 @@ make_fcontext:
123
123
124
124
# set back-chain to zero
125
125
li %r0, 0
126
- std %r0, 184 (%r3)
126
+ std %r0, 192 (%r3)
127
127
128
128
#if _CALL_ELF != 2
129
129
# zero in r3 indicates first jump to context-function
Original file line number Diff line number Diff line change @@ -97,7 +97,7 @@ ontop_fcontext:
97
97
# endif
98
98
#endif
99
99
# reserve space on stack
100
- subi %r1, %r1, 184
100
+ subi %r1, %r1, 192
101
101
102
102
#if _CALL_ELF != 2
103
103
std %r2, 0 (%r1) # save TOC
@@ -123,6 +123,7 @@ ontop_fcontext:
123
123
#if _CALL_ELF != 2
124
124
std %r3, 152 (%r1) # save hidden
125
125
#endif
126
+ stfd %f31, 184 (%r1) # save F31
126
127
127
128
# save CR
128
129
mfcr %r0
@@ -165,6 +166,7 @@ ontop_fcontext:
165
166
#if _CALL_ELF != 2
166
167
ld %r3, 152 (%r1) # restore hidden
167
168
#endif
169
+ lfd %f31, 184 (%r1) # restore F31
168
170
169
171
# restore CR
170
172
ld %r0, 160 (%r1)
@@ -203,7 +205,7 @@ return_to_ctx:
203
205
mtlr %r0
204
206
205
207
# adjust stack
206
- addi %r1, %r1, 184
208
+ addi %r1, %r1, 192
207
209
208
210
# jump to context
209
211
bctr
You can’t perform that action at this time.
0 commit comments