File tree Expand file tree Collapse file tree 2 files changed +10
-0
lines changed
FreeRTOS-Kernel-SMP/portable/xtensa
FreeRTOS-Kernel/portable/xtensa Expand file tree Collapse file tree 2 files changed +10
-0
lines changed Original file line number Diff line number Diff line change @@ -348,6 +348,11 @@ BaseType_t xPortStartScheduler( void )
348348 }
349349#endif // configNUM_CORES > 1
350350
351+ // Windows contain references to the startup stack which will be reclaimed by the main task
352+ // Spill the windows to create a clean environment to ensure we do not carry over any such references
353+ // to invalid SPs which will cause problems if main_task does a windowoverflow to them
354+ xthal_window_spill ();
355+
351356 // Cannot be directly called from C; never returns
352357 __asm__ volatile ("call0 _frxt_dispatch\n" );
353358
Original file line number Diff line number Diff line change @@ -108,6 +108,11 @@ BaseType_t xPortStartScheduler( void )
108108
109109 port_xSchedulerRunning [xPortGetCoreID ()] = 1 ;
110110
111+ // Windows contain references to the startup stack which will be reclaimed by the main task
112+ // Spill the windows to create a clean environment to ensure we do not carry over any such references
113+ // to invalid SPs which will cause problems if main_task does a windowoverflow to them
114+ xthal_window_spill ();
115+
111116 // Cannot be directly called from C; never returns
112117 __asm__ volatile ("call0 _frxt_dispatch\n" );
113118
You can’t perform that action at this time.
0 commit comments