Skip to content

Commit bb47bc0

Browse files
Saiiijchanwangfei_chen
and
wangfei_chen
authored
RISC-V: refine fpu offset according to portFPU_REG_SIZE (FreeRTOS#1256)
Signed-off-by: wangfei_chen <[email protected]> Co-authored-by: wangfei_chen <[email protected]>
1 parent 4d9cd90 commit bb47bc0

File tree

1 file changed

+66
-66
lines changed

1 file changed

+66
-66
lines changed

portable/GCC/RISC-V/portContext.h

+66-66
Original file line numberDiff line numberDiff line change
@@ -103,78 +103,78 @@
103103
.macro portcontexSAVE_FPU_CONTEXT
104104
addi sp, sp, -( portFPU_CONTEXT_SIZE )
105105
/* Store the FPU registers. */
106-
store_f f0, 2 * portWORD_SIZE( sp )
107-
store_f f1, 3 * portWORD_SIZE( sp )
108-
store_f f2, 4 * portWORD_SIZE( sp )
109-
store_f f3, 5 * portWORD_SIZE( sp )
110-
store_f f4, 6 * portWORD_SIZE( sp )
111-
store_f f5, 7 * portWORD_SIZE( sp )
112-
store_f f6, 8 * portWORD_SIZE( sp )
113-
store_f f7, 9 * portWORD_SIZE( sp )
114-
store_f f8, 10 * portWORD_SIZE( sp )
115-
store_f f9, 11 * portWORD_SIZE( sp )
116-
store_f f10, 12 * portWORD_SIZE( sp )
117-
store_f f11, 13 * portWORD_SIZE( sp )
118-
store_f f12, 14 * portWORD_SIZE( sp )
119-
store_f f13, 15 * portWORD_SIZE( sp )
120-
store_f f14, 16 * portWORD_SIZE( sp )
121-
store_f f15, 17 * portWORD_SIZE( sp )
122-
store_f f16, 18 * portWORD_SIZE( sp )
123-
store_f f17, 19 * portWORD_SIZE( sp )
124-
store_f f18, 20 * portWORD_SIZE( sp )
125-
store_f f19, 21 * portWORD_SIZE( sp )
126-
store_f f20, 22 * portWORD_SIZE( sp )
127-
store_f f21, 23 * portWORD_SIZE( sp )
128-
store_f f22, 24 * portWORD_SIZE( sp )
129-
store_f f23, 25 * portWORD_SIZE( sp )
130-
store_f f24, 26 * portWORD_SIZE( sp )
131-
store_f f25, 27 * portWORD_SIZE( sp )
132-
store_f f26, 28 * portWORD_SIZE( sp )
133-
store_f f27, 29 * portWORD_SIZE( sp )
134-
store_f f28, 30 * portWORD_SIZE( sp )
135-
store_f f29, 31 * portWORD_SIZE( sp )
136-
store_f f30, 32 * portWORD_SIZE( sp )
137-
store_f f31, 33 * portWORD_SIZE( sp )
106+
store_f f0, 2 * portFPU_REG_SIZE( sp )
107+
store_f f1, 3 * portFPU_REG_SIZE( sp )
108+
store_f f2, 4 * portFPU_REG_SIZE( sp )
109+
store_f f3, 5 * portFPU_REG_SIZE( sp )
110+
store_f f4, 6 * portFPU_REG_SIZE( sp )
111+
store_f f5, 7 * portFPU_REG_SIZE( sp )
112+
store_f f6, 8 * portFPU_REG_SIZE( sp )
113+
store_f f7, 9 * portFPU_REG_SIZE( sp )
114+
store_f f8, 10 * portFPU_REG_SIZE( sp )
115+
store_f f9, 11 * portFPU_REG_SIZE( sp )
116+
store_f f10, 12 * portFPU_REG_SIZE( sp )
117+
store_f f11, 13 * portFPU_REG_SIZE( sp )
118+
store_f f12, 14 * portFPU_REG_SIZE( sp )
119+
store_f f13, 15 * portFPU_REG_SIZE( sp )
120+
store_f f14, 16 * portFPU_REG_SIZE( sp )
121+
store_f f15, 17 * portFPU_REG_SIZE( sp )
122+
store_f f16, 18 * portFPU_REG_SIZE( sp )
123+
store_f f17, 19 * portFPU_REG_SIZE( sp )
124+
store_f f18, 20 * portFPU_REG_SIZE( sp )
125+
store_f f19, 21 * portFPU_REG_SIZE( sp )
126+
store_f f20, 22 * portFPU_REG_SIZE( sp )
127+
store_f f21, 23 * portFPU_REG_SIZE( sp )
128+
store_f f22, 24 * portFPU_REG_SIZE( sp )
129+
store_f f23, 25 * portFPU_REG_SIZE( sp )
130+
store_f f24, 26 * portFPU_REG_SIZE( sp )
131+
store_f f25, 27 * portFPU_REG_SIZE( sp )
132+
store_f f26, 28 * portFPU_REG_SIZE( sp )
133+
store_f f27, 29 * portFPU_REG_SIZE( sp )
134+
store_f f28, 30 * portFPU_REG_SIZE( sp )
135+
store_f f29, 31 * portFPU_REG_SIZE( sp )
136+
store_f f30, 32 * portFPU_REG_SIZE( sp )
137+
store_f f31, 33 * portFPU_REG_SIZE( sp )
138138
csrr t0, fcsr
139-
store_x t0, 34 * portWORD_SIZE( sp )
139+
store_x t0, 34 * portFPU_REG_SIZE( sp )
140140
.endm
141141
/*-----------------------------------------------------------*/
142142

143143
.macro portcontextRESTORE_FPU_CONTEXT
144144
/* Restore the FPU registers. */
145-
load_f f0, 2 * portWORD_SIZE( sp )
146-
load_f f1, 3 * portWORD_SIZE( sp )
147-
load_f f2, 4 * portWORD_SIZE( sp )
148-
load_f f3, 5 * portWORD_SIZE( sp )
149-
load_f f4, 6 * portWORD_SIZE( sp )
150-
load_f f5, 7 * portWORD_SIZE( sp )
151-
load_f f6, 8 * portWORD_SIZE( sp )
152-
load_f f7, 9 * portWORD_SIZE( sp )
153-
load_f f8, 10 * portWORD_SIZE( sp )
154-
load_f f9, 11 * portWORD_SIZE( sp )
155-
load_f f10, 12 * portWORD_SIZE( sp )
156-
load_f f11, 13 * portWORD_SIZE( sp )
157-
load_f f12, 14 * portWORD_SIZE( sp )
158-
load_f f13, 15 * portWORD_SIZE( sp )
159-
load_f f14, 16 * portWORD_SIZE( sp )
160-
load_f f15, 17 * portWORD_SIZE( sp )
161-
load_f f16, 18 * portWORD_SIZE( sp )
162-
load_f f17, 19 * portWORD_SIZE( sp )
163-
load_f f18, 20 * portWORD_SIZE( sp )
164-
load_f f19, 21 * portWORD_SIZE( sp )
165-
load_f f20, 22 * portWORD_SIZE( sp )
166-
load_f f21, 23 * portWORD_SIZE( sp )
167-
load_f f22, 24 * portWORD_SIZE( sp )
168-
load_f f23, 25 * portWORD_SIZE( sp )
169-
load_f f24, 26 * portWORD_SIZE( sp )
170-
load_f f25, 27 * portWORD_SIZE( sp )
171-
load_f f26, 28 * portWORD_SIZE( sp )
172-
load_f f27, 29 * portWORD_SIZE( sp )
173-
load_f f28, 30 * portWORD_SIZE( sp )
174-
load_f f29, 31 * portWORD_SIZE( sp )
175-
load_f f30, 32 * portWORD_SIZE( sp )
176-
load_f f31, 33 * portWORD_SIZE( sp )
177-
load_x t0, 34 * portWORD_SIZE( sp )
145+
load_f f0, 2 * portFPU_REG_SIZE( sp )
146+
load_f f1, 3 * portFPU_REG_SIZE( sp )
147+
load_f f2, 4 * portFPU_REG_SIZE( sp )
148+
load_f f3, 5 * portFPU_REG_SIZE( sp )
149+
load_f f4, 6 * portFPU_REG_SIZE( sp )
150+
load_f f5, 7 * portFPU_REG_SIZE( sp )
151+
load_f f6, 8 * portFPU_REG_SIZE( sp )
152+
load_f f7, 9 * portFPU_REG_SIZE( sp )
153+
load_f f8, 10 * portFPU_REG_SIZE( sp )
154+
load_f f9, 11 * portFPU_REG_SIZE( sp )
155+
load_f f10, 12 * portFPU_REG_SIZE( sp )
156+
load_f f11, 13 * portFPU_REG_SIZE( sp )
157+
load_f f12, 14 * portFPU_REG_SIZE( sp )
158+
load_f f13, 15 * portFPU_REG_SIZE( sp )
159+
load_f f14, 16 * portFPU_REG_SIZE( sp )
160+
load_f f15, 17 * portFPU_REG_SIZE( sp )
161+
load_f f16, 18 * portFPU_REG_SIZE( sp )
162+
load_f f17, 19 * portFPU_REG_SIZE( sp )
163+
load_f f18, 20 * portFPU_REG_SIZE( sp )
164+
load_f f19, 21 * portFPU_REG_SIZE( sp )
165+
load_f f20, 22 * portFPU_REG_SIZE( sp )
166+
load_f f21, 23 * portFPU_REG_SIZE( sp )
167+
load_f f22, 24 * portFPU_REG_SIZE( sp )
168+
load_f f23, 25 * portFPU_REG_SIZE( sp )
169+
load_f f24, 26 * portFPU_REG_SIZE( sp )
170+
load_f f25, 27 * portFPU_REG_SIZE( sp )
171+
load_f f26, 28 * portFPU_REG_SIZE( sp )
172+
load_f f27, 29 * portFPU_REG_SIZE( sp )
173+
load_f f28, 30 * portFPU_REG_SIZE( sp )
174+
load_f f29, 31 * portFPU_REG_SIZE( sp )
175+
load_f f30, 32 * portFPU_REG_SIZE( sp )
176+
load_f f31, 33 * portFPU_REG_SIZE( sp )
177+
load_x t0, 34 * portFPU_REG_SIZE( sp )
178178
csrw fcsr, t0
179179
addi sp, sp, ( portFPU_CONTEXT_SIZE )
180180
.endm

0 commit comments

Comments
 (0)