@@ -260,84 +260,6 @@ _tx_thread_not_nested_save:
260260 ld sp , 0 (t0) // Switch to system stack
261261 ret // Return to calling ISR
262262
263- sd x17, 20*8 (sp) // Store a7
264- sd x28, 16*8 (sp) // Store t3
265- sd x29, 15*8 (sp) // Store t4
266- sd x30, 14*8 (sp) // Store t5
267- sd x31, 13*8 (sp) // Store t6
268-
269- csrr t0, mepc // Load exception program counter
270- sd t0, 30*8 (sp) // Save it on the stack
271-
272- /* Save floating point scratch registers. */
273- #if defined(__riscv_float_abi_single)
274- fsw f0, 31*8 (sp) // Store ft0
275- fsw f1, 32*8 (sp) // Store ft1
276- fsw f2, 33*8 (sp) // Store ft2
277- fsw f3, 34*8 (sp) // Store ft3
278- fsw f4, 35*8 (sp) // Store ft4
279- fsw f5, 36*8 (sp) // Store ft5
280- fsw f6, 37*8 (sp) // Store ft6
281- fsw f7, 38*8 (sp) // Store ft7
282- fsw f10,41*8 (sp) // Store fa0
283- fsw f11,42*8 (sp) // Store fa1
284- fsw f12,43*8 (sp) // Store fa2
285- fsw f13,44*8 (sp) // Store fa3
286- fsw f14,45*8 (sp) // Store fa4
287- fsw f15,46*8 (sp) // Store fa5
288- fsw f16,47*8 (sp) // Store fa6
289- fsw f17,48*8 (sp) // Store fa7
290- fsw f28,59*8 (sp) // Store ft8
291- fsw f29,60*8 (sp) // Store ft9
292- fsw f30,61*8 (sp) // Store ft10
293- fsw f31,62*8 (sp) // Store ft11
294- csrr t0, fcsr
295- sd t0, 63*8 (sp) // Store fcsr
296- #elif defined(__riscv_float_abi_double)
297- fsd f0, 31*8 (sp) // Store ft0
298- fsd f1, 32*8 (sp) // Store ft1
299- fsd f2, 33*8 (sp) // Store ft2
300- fsd f3, 34*8 (sp) // Store ft3
301- fsd f4, 35*8 (sp) // Store ft4
302- fsd f5, 36*8 (sp) // Store ft5
303- fsd f6, 37*8 (sp) // Store ft6
304- fsd f7, 38*8 (sp) // Store ft7
305- fsd f10,41*8 (sp) // Store fa0
306- fsd f11,42*8 (sp) // Store fa1
307- fsd f12,43*8 (sp) // Store fa2
308- fsd f13,44*8 (sp) // Store fa3
309- fsd f14,45*8 (sp) // Store fa4
310- fsd f15,46*8 (sp) // Store fa5
311- fsd f16,47*8 (sp) // Store fa6
312- fsd f17,48*8 (sp) // Store fa7
313- fsd f28,59*8 (sp) // Store ft8
314- fsd f29,60*8 (sp) // Store ft9
315- fsd f30,61*8 (sp) // Store ft10
316- fsd f31,62*8 (sp) // Store ft11
317- csrr t0, fcsr
318- sd t0, 63*8 (sp) // Store fcsr
319- #endif
320-
321- /* Save the current stack pointer in the thread's control block. */
322- /* _tx_thread_current_ptr -> tx_thread_stack_ptr = sp; */
323-
324- /* Switch to the system stack. */
325- /* sp = _tx_thread_system_stack_ptr; */
326-
327- la x5, _tx_thread_current_ptr // Pickup current thread pointer address
328- ld t1, 0 (x5) // Pickup current thread pointer
329- sd sp, 16 (t1) // Save stack pointer
330-
331- #ifdef TX_ENABLE_EXECUTION_CHANGE_NOTIFY
332- /* _tx_execution_isr_enter is called with thread stack pointer */
333- call _tx_execution_isr_enter // Call the ISR execution enter function
334- #endif
335-
336-
337- la x5, _tx_thread_system_stack_ptr // Pickup system stack pointer address
338- ld sp, 0 (x5) // Switch to system stack
339- ret // Return to calling ISR
340-
341263 /* }
342264 else
343265 { */
0 commit comments